.bnx-matching-vendor-list,
.bnx-matching-search,
.bnx-matching-featured-vendors,
.bnx-matching-vendor-detail {
	--jha-blue: #0969a8;
	--jha-blue-dark: #064f85;
	--jha-blue-soft: #eaf6fd;
	--jha-blue-pale: #f5fbff;
	--jha-cyan: #16a3d8;
	--jha-border: #d7e6ef;
	--jha-border-strong: #b9d6e8;
	--jha-gray: #f4f7f9;
	--jha-text: #1f3446;
	--jha-muted: #607282;
	--jha-shadow: 0 10px 28px rgba( 15, 76, 117, 0.08 );
	color: var(--jha-text);
}

.bnx-service-list {
	--bnx-service-blue: #0077b6;
	--bnx-service-blue-dark: #005f96;
	--bnx-service-border: rgba( 0, 119, 182, 0.16 );
	--bnx-service-shadow: 0 8px 18px rgba( 0, 84, 135, 0.07 );
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
	color: #1f2f3d;
}

.post_content > .bnx-service-list,
.entry-content > .bnx-service-list {
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
}

/* Limit the reset to a block that directly contains this shortcode only. */
:where( .post_content, .entry-content ) :is( p, .wp-block-shortcode, .wp-block-group ):has( > .bnx-service-list ) {
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

.bnx-service-list__grid {
	display: grid;
	grid-template-columns: repeat( 4, minmax( 0, 1fr ) );
	gap: 26px;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
}

.bnx-service-list__grid--columns-1 {
	grid-template-columns: 1fr;
}

.bnx-service-list__grid--columns-2 {
	grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
}

.bnx-service-list__grid--columns-3 {
	grid-template-columns: repeat( 3, minmax( 0, 1fr ) );
}

.bnx-service-card {
	min-width: 0;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
}

.bnx-service-card__link {
	display: flex;
	flex-direction: column;
	align-items: center;
	height: 100%;
	box-sizing: border-box;
	padding: 28px 22px;
	overflow: hidden;
	border: 1px solid var( --bnx-service-border );
	border-radius: 14px;
	background: linear-gradient( 135deg, #ffffff 0%, #ffffff 78%, #fff8ef 100% );
	box-shadow: var( --bnx-service-shadow );
	color: inherit;
	text-align: center;
	text-decoration: none;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.post_content .bnx-service-card__link,
.entry-content .bnx-service-card__link {
	color: #1f2f3d;
	text-decoration: none;
}

a.bnx-service-card__link:hover,
a.bnx-service-card__link:focus {
	border-color: rgba( 0, 119, 182, 0.34 );
	box-shadow: 0 14px 28px rgba( 0, 84, 135, 0.12 );
	color: inherit;
	text-decoration: none;
	transform: translateY( -2px );
}

a.bnx-service-card__link:focus-visible {
	outline: 3px solid rgba( 0, 119, 182, 0.32 );
	outline-offset: 3px;
}

.bnx-service-card__image {
	display: flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	width: 116px;
	height: 116px;
	margin: 0 0 22px;
	overflow: hidden;
	border-radius: 50%;
	background: linear-gradient( 180deg, #eef9ff 0%, #dff4ff 100% );
}

.bnx-service-card__image img,
.post_content .bnx-service-card__image img,
.entry-content .bnx-service-card__image img {
	display: block;
	width: 100%;
	height: 100%;
	max-width: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	object-fit: cover;
	object-position: center;
}

.bnx-service-card__placeholder {
	color: rgba( 0, 95, 150, 0.38 );
	font-size: 22px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.04em;
}

.bnx-service-card__title,
.post_content .bnx-service-card__title,
.entry-content .bnx-service-card__title {
	margin: 0 0 10px;
	padding: 0;
	border: 0;
	background: none;
	box-shadow: none;
	color: #172f42;
	font-family: inherit;
	font-size: 19px;
	font-weight: 700;
	line-height: 1.45;
	letter-spacing: 0;
	text-decoration: none;
	word-break: keep-all;
	overflow-wrap: anywhere;
}

.bnx-service-card__title::before,
.bnx-service-card__title::after,
.post_content .bnx-service-card__title::before,
.post_content .bnx-service-card__title::after,
.entry-content .bnx-service-card__title::before,
.entry-content .bnx-service-card__title::after {
	display: none;
	content: none;
}

.bnx-service-card__description,
.post_content .bnx-service-card__description,
.entry-content .bnx-service-card__description {
	display: -webkit-box;
	max-width: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	box-shadow: none;
	overflow: hidden;
	color: #667a8b;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.7;
	text-align: center;
	word-break: keep-all;
	overflow-wrap: anywhere;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.bnx-service-card__cta {
	display: block;
	margin-top: 17px;
	color: var( --bnx-service-blue-dark );
	font-size: 13px;
	font-weight: 700;
	line-height: 1.5;
}

.bnx-service-card__link:hover .bnx-service-card__cta,
.bnx-service-card__link:focus .bnx-service-card__cta {
	color: var( --bnx-service-blue );
}

.bnx-service-list__empty {
	margin: 0;
	padding: 18px;
	border: 1px solid var( --bnx-service-border );
	border-radius: 12px;
	background: #fff;
	color: #667a8b;
	text-align: center;
}

@media ( max-width: 1023px ) {
	.bnx-service-list__grid:not( .bnx-service-list__grid--columns-1 ):not( .bnx-service-list__grid--columns-2 ),
	.bnx-service-list__grid--columns-3 {
		grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
		gap: 22px;
	}

	.bnx-service-card__image {
		width: 104px;
		height: 104px;
	}
}

@media ( max-width: 767px ) {
	.bnx-service-list__grid,
	.bnx-service-list__grid--columns-2,
	.bnx-service-list__grid--columns-3,
	.bnx-service-list__grid--columns-4 {
		grid-template-columns: 1fr;
		gap: 18px;
	}

	.bnx-service-card__link {
		padding: 26px 20px;
	}

	.bnx-service-card__image {
		width: 96px;
		height: 96px;
		margin-bottom: 20px;
	}

	.bnx-service-card__title,
	.post_content .bnx-service-card__title,
	.entry-content .bnx-service-card__title {
		font-size: 17px;
	}

	.bnx-service-card__cta {
		margin-top: 16px;
	}
}

.bnx-matching-vendor-list {
	margin: 28px 0;
}

.bnx-matching-featured-vendors {
	margin: 40px 0;
	padding: 28px;
	border: 1px solid var(--jha-border);
	border-radius: 8px;
	background: linear-gradient( 180deg, #ffffff 0%, var(--jha-blue-pale) 100% );
}

.bnx-matching-featured-vendors-header {
	margin: 0 0 22px;
}

.bnx-matching-featured-vendors-title {
	margin: 0 0 8px;
	color: var(--jha-blue-dark);
	font-size: 26px;
	line-height: 1.35;
}

.bnx-matching-featured-vendors-description {
	max-width: 760px;
	margin: 0;
	color: var(--jha-muted);
	font-size: 15px;
	line-height: 1.8;
}

.bnx-matching-pr-description {
	position: relative;
	margin: 0 0 18px;
	padding: 12px 16px 12px 42px;
	border: 1px solid rgba( 9, 105, 168, 0.14 );
	border-radius: 10px;
	background: #f3fbff;
	color: #43576a;
	font-size: 13px;
	line-height: 1.7;
}

.bnx-matching-pr-description::before {
	position: absolute;
	top: 14px;
	left: 16px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 18px;
	height: 18px;
	background: #dff4ff;
	border-radius: 50%;
	color: var(--jha-blue-dark);
	content: "i";
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
}

.bnx-matching-search {
	margin: 30px 0 42px;
}

.bnx-matching-search-form {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	align-items: flex-end;
	margin: 0 0 16px;
	padding: 22px 24px;
	border: 1px solid rgba( 9, 105, 168, 0.18 );
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 10px 26px rgba( 15, 76, 117, 0.08 );
}

.bnx-matching-search-field {
	display: flex;
	flex: 1 1 220px;
	flex-direction: column;
	gap: 7px;
}

.bnx-matching-search-field-button {
	flex: 0 0 auto;
}

.bnx-matching-search-label {
	color: var(--jha-blue-dark);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.45;
}

.bnx-matching-search-select {
	width: 100%;
	min-height: 46px;
	padding: 9px 12px;
	border: 1px solid var(--jha-border-strong);
	border-radius: 8px;
	background: #fff;
	color: var(--jha-text);
	font-size: 14px;
}

.bnx-matching-search-select:focus {
	border-color: var(--jha-cyan);
	outline: 2px solid rgba( 22, 163, 216, 0.18 );
	outline-offset: 1px;
}

.bnx-matching-search-button {
	min-height: 46px;
	padding: 10px 26px;
	border: 0;
	border-radius: 8px;
	background: var(--jha-blue);
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	cursor: pointer;
	box-shadow: 0 8px 18px rgba( 9, 105, 168, 0.18 );
}

.bnx-matching-search-button:hover,
.bnx-matching-search-button:focus {
	background: var(--jha-blue-dark);
}

.bnx-matching-search-result-count {
	margin: 0 0 14px;
	color: var(--jha-blue-dark);
	font-size: 15px;
	font-weight: 800;
	line-height: 1.6;
}

.bnx-matching-pagination {
	margin-top: 26px;
}

.bnx-matching-pagination__list {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: center;
	margin: 0;
	padding: 0;
	list-style: none;
}

.bnx-matching-pagination__item .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 42px;
	min-height: 42px;
	padding: 7px 11px;
	box-sizing: border-box;
	border: 1px solid var(--jha-border-strong);
	border-radius: 8px;
	background: #fff;
	color: var(--jha-blue-dark);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.4;
	text-decoration: none;
}

.bnx-matching-pagination__item .page-numbers:hover,
.bnx-matching-pagination__item .page-numbers:focus {
	border-color: var(--jha-blue);
	background: var(--jha-blue-pale);
	color: var(--jha-blue-dark);
	text-decoration: none;
}

.bnx-matching-pagination__item .page-numbers.current {
	border-color: var(--jha-blue);
	background: var(--jha-blue);
	color: #fff;
}

.bnx-matching-pagination__item .page-numbers.dots {
	min-width: auto;
	border-color: transparent;
	background: transparent;
	color: var(--jha-muted);
}

.bnx-matching-search-empty,
.bnx-matching-vendor-empty,
.bnx-matching-vendor-detail-empty {
	margin: 0;
	padding: 18px;
	border: 1px solid var(--jha-border);
	border-radius: 8px;
	background: #fff;
	color: var(--jha-muted);
}

.bnx-matching-vendor-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 22px;
}

.bnx-matching-vendor-card {
	display: flex;
	flex-direction: row;
	align-items: stretch;
	gap: 24px;
	overflow: hidden;
	border: 1px solid var(--jha-border);
	border-radius: 8px;
	background: #fff;
	box-shadow: var(--jha-shadow);
	transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.bnx-matching-vendor-card:hover {
	border-color: var(--jha-border-strong);
	box-shadow: 0 14px 34px rgba( 15, 76, 117, 0.12 );
	transform: translateY(-1px);
}

.bnx-matching-vendor-photo {
	flex: 0 0 260px;
	width: 260px;
	height: 220px;
	min-height: 220px;
	background: var(--jha-gray);
}

.bnx-matching-vendor-photo img,
.bnx-matching-vendor-photo-img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.bnx-matching-vendor-photo-placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	background: linear-gradient( 135deg, var(--jha-blue-soft), #f7fafc );
	color: var(--jha-muted);
	font-size: 14px;
	font-weight: 700;
}

.bnx-matching-vendor-body {
	position: relative;
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 12px;
	min-width: 0;
	padding: 22px 22px 22px 0;
}

.bnx-matching-vendor-header {
	margin: 0;
	min-height: 0;
	padding: 0;
}

.bnx-matching-vendor-title {
	margin: 0;
	color: var(--jha-text);
	font-size: 20px;
	line-height: 1.35;
}

.bnx-matching-vendor-card-has-pr .bnx-matching-vendor-title {
	padding-right: 56px;
}

.bnx-matching-search .bnx-matching-vendor-card__catchphrase {
	display: -webkit-box;
	overflow: hidden;
	margin: 0;
	color: var(--jha-blue-dark);
	font-size: 15px;
	font-weight: 700;
	line-height: 1.6;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow-wrap: anywhere;
}

.bnx-matching-vendor-rank {
	display: inline-flex;
	align-items: center;
	align-self: flex-start;
	width: fit-content;
	max-width: 100%;
	padding: 4px 9px;
	border: 1px solid var(--jha-border);
	border-radius: 999px;
	background: var(--jha-blue-pale);
	color: var(--jha-blue-dark);
	font-size: 15px;
	font-weight: 700;
	line-height: 1.5;
}

.bnx-matching-vendor-rank--excellent-company {
	border-color: #d6b45f;
	background: #f8f1dd;
	color: #6f5310;
}

.bnx-matching-vendor-location {
	color: var(--jha-muted);
	font-size: 14px;
	font-weight: 600;
}

.bnx-matching-pr-label {
	position: absolute;
	top: 22px;
	right: 22px;
	display: inline-flex;
	align-items: center;
	min-height: 24px;
	padding: 2px 9px;
	border: 1px solid #f4d37a;
	border-radius: 999px;
	background: #fff8e1;
	color: #7a5600;
	font-size: 12px;
	font-weight: 700;
	white-space: nowrap;
}

.bnx-matching-vendor-services,
.bnx-matching-vendor-areas,
.bnx-matching-vendor-features {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	align-items: center;
	font-size: 14px;
}

.bnx-matching-term-label {
	color: var(--jha-blue-dark);
	font-weight: 700;
}

.bnx-matching-term,
.bnx-matching-vendor-feature {
	display: inline-block;
	padding: 4px 8px;
	border: 1px solid var(--jha-border);
	border-radius: 999px;
	background: var(--jha-blue-pale);
	color: var(--jha-text);
	line-height: 1.5;
}

.bnx-matching-area-group {
	line-height: 1.6;
}

.bnx-matching-area-prefecture {
	font-weight: 700;
}

.bnx-matching-area-separator {
	margin: 0 3px;
	color: var(--jha-muted);
}

.bnx-matching-vendor-card__area-more {
	display: inline-flex;
	align-items: center;
	max-width: 100%;
	box-sizing: border-box;
	padding: 4px 8px;
	border: 1px solid var(--jha-border-strong);
	border-radius: 999px;
	background: #fff;
	color: var(--jha-blue-dark);
	font-size: inherit;
	font-weight: 700;
	line-height: 1.5;
	text-decoration: none;
	white-space: nowrap;
}

.bnx-matching-vendor-card__area-more:hover,
.bnx-matching-vendor-card__area-more:focus {
	border-color: var(--jha-blue);
	background: var(--jha-blue-pale);
	color: var(--jha-blue-dark);
	text-decoration: none;
}

.bnx-matching-vendor-excerpt {
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 4;
	margin: 0;
	color: var(--jha-muted);
	font-size: 15px;
	line-height: 1.75;
}

.bnx-matching-vendor-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: auto;
	padding-top: 8px;
}

.bnx-matching-vendor-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 40px;
	padding: 9px 16px;
	border: 1px solid transparent;
	border-radius: 6px;
	background: var(--jha-blue);
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
}

.bnx-matching-vendor-button:hover,
.bnx-matching-vendor-button:focus {
	background: var(--jha-blue-dark);
	color: #fff;
	text-decoration: none;
}

.bnx-matching-vendor-button-inquiry {
	background: #0f8fc6;
}

.bnx-matching-vendor-button-inquiry:hover,
.bnx-matching-vendor-button-inquiry:focus {
	background: #0875a5;
}

.bnx-matching-search .bnx-matching-vendor-list {
	margin: 18px 0 0;
}

.bnx-matching-search .bnx-matching-vendor-grid {
	gap: 20px;
}

.bnx-matching-search .bnx-matching-vendor-card {
	gap: 22px;
	border-color: rgba( 9, 105, 168, 0.16 );
	border-radius: 12px;
	box-shadow: 0 8px 22px rgba( 15, 76, 117, 0.07 );
}

.bnx-matching-search .bnx-matching-vendor-card:hover {
	border-color: rgba( 9, 105, 168, 0.28 );
	box-shadow: 0 13px 28px rgba( 15, 76, 117, 0.11 );
}

.bnx-matching-search .bnx-matching-vendor-body {
	gap: 11px;
	padding: 22px 24px 22px 0;
}

.bnx-matching-search .bnx-matching-vendor-title {
	margin: 0;
	color: var(--jha-blue-dark);
	font-size: 21px;
	font-weight: 700;
	line-height: 1.35;
}

.post_content .bnx-matching-search .bnx-matching-vendor-title {
	margin: 0;
}

.bnx-matching-search .bnx-matching-vendor-rank {
	padding: 4px 10px;
	border-color: rgba( 9, 105, 168, 0.18 );
	background: #eaf6fd;
	color: var(--jha-blue-dark);
	font-size: 13px;
	line-height: 1.45;
}

.bnx-matching-search .bnx-matching-vendor-rank--excellent-company {
	border-color: #d6b45f;
	background: #f8f1dd;
	color: #6f5310;
}

.bnx-matching-search .bnx-matching-vendor-location {
	color: #536678;
	font-size: 14px;
	line-height: 1.6;
}

.bnx-matching-search .bnx-matching-vendor-services,
.bnx-matching-search .bnx-matching-vendor-areas,
.bnx-matching-search .bnx-matching-vendor-features {
	gap: 6px;
	line-height: 1.6;
}

.bnx-matching-search .bnx-matching-term-label {
	margin-right: 2px;
	color: var(--jha-blue-dark);
	font-size: 13px;
}

.bnx-matching-search .bnx-matching-term,
.bnx-matching-search .bnx-matching-vendor-feature {
	padding: 4px 9px;
	border-color: rgba( 9, 105, 168, 0.14 );
	background: #f3fbff;
	color: #243d52;
	font-size: 13px;
	line-height: 1.45;
}

.bnx-matching-search .bnx-matching-vendor-excerpt {
	color: #5c6f80;
	font-size: 14px;
	line-height: 1.75;
}

.bnx-matching-search .bnx-matching-vendor-actions {
	gap: 10px;
	padding-top: 6px;
}

.bnx-matching-search .bnx-matching-vendor-button {
	min-height: 42px;
	padding: 10px 18px;
	border-radius: 8px;
	font-size: 14px;
	line-height: 1.4;
}

.bnx-matching-search .bnx-matching-vendor-button-detail {
	border-color: rgba( 9, 105, 168, 0.24 );
	background: #fff;
	color: var(--jha-blue-dark);
}

.bnx-matching-search .bnx-matching-vendor-button-detail:hover,
.bnx-matching-search .bnx-matching-vendor-button-detail:focus {
	border-color: var(--jha-blue);
	background: #f3fbff;
	color: var(--jha-blue-dark);
}

.bnx-matching-search .bnx-matching-vendor-button-inquiry {
	background: var(--jha-blue);
	box-shadow: 0 8px 18px rgba( 9, 105, 168, 0.18 );
}

.bnx-matching-search .bnx-matching-vendor-button-inquiry:hover,
.bnx-matching-search .bnx-matching-vendor-button-inquiry:focus {
	background: var(--jha-blue-dark);
}

.bnx-matching-vendor-detail {
	margin: 28px 0;
	color: var(--jha-text);
}

.bnx-matching-vendor-detail-hero {
	display: grid;
	grid-template-columns: minmax(240px, 360px) 1fr;
	gap: 28px;
	align-items: stretch;
	overflow: hidden;
	margin-bottom: 28px;
	border: 1px solid var(--jha-border);
	border-radius: 8px;
	background: #fff;
	box-shadow: var(--jha-shadow);
}

.bnx-matching-vendor-detail-photo {
	min-height: 300px;
	background: var(--jha-gray);
}

.bnx-matching-vendor-detail-photo img,
.bnx-matching-vendor-detail-photo-img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.bnx-matching-vendor-detail-summary {
	display: flex;
	flex-direction: column;
	gap: 14px;
	padding: 28px 28px 28px 0;
}

.bnx-matching-vendor-detail-heading {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: flex-start;
	justify-content: space-between;
}

.bnx-matching-vendor-detail-title {
	margin: 0;
	color: var(--jha-text);
	font-size: 28px;
	line-height: 1.35;
}

.bnx-matching-vendor-detail__catchphrase {
	margin: -4px 0 0;
	color: var(--jha-blue-dark);
	font-size: 18px;
	font-weight: 700;
	line-height: 1.7;
	overflow-wrap: anywhere;
}

.bnx-matching-vendor-detail-rank {
	display: inline-flex;
	align-items: center;
	align-self: flex-start;
	width: fit-content;
	max-width: 100%;
	padding: 5px 10px;
	border: 1px solid var(--jha-border);
	border-radius: 999px;
	background: var(--jha-blue-pale);
	color: var(--jha-blue-dark);
	font-size: 16px;
	font-weight: 700;
	line-height: 1.5;
}

.bnx-matching-vendor-detail-rank--excellent-company {
	border-color: #d6b45f;
	background: #f8f1dd;
	color: #6f5310;
}

.wp-admin .wp-list-table .bnx-vendor-approval-status--pending-review {
	display: inline-flex;
	align-items: center;
	padding: 3px 8px;
	border: 1px solid #f1b5b1;
	border-radius: 999px;
	background: #fbeaea;
	color: #b42318;
	font-weight: 700;
	line-height: 1.4;
}

.wp-admin .wp-list-table tr.bnx-vendor-row-approval-pending-review > th,
.wp-admin .wp-list-table tr.bnx-vendor-row-approval-pending-review > td {
	background-color: #fff8f8;
}

.wp-admin .wp-list-table tr.bnx-vendor-row-approval-pending-review:hover > th,
.wp-admin .wp-list-table tr.bnx-vendor-row-approval-pending-review:hover > td {
	background-color: #fff1f1;
}

.bnx-matching-vendor-detail-location {
	color: var(--jha-muted);
	font-size: 15px;
	font-weight: 600;
}

.bnx-matching-vendor-detail-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: auto;
	padding-top: 8px;
}

.bnx-matching-vendor-detail-content {
	display: grid;
	gap: 18px;
}

.bnx-matching-vendor-detail-section {
	padding: 22px;
	border: 1px solid var(--jha-border);
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 6px 20px rgba( 15, 76, 117, 0.05 );
}

.bnx-matching-vendor-detail-section-title {
	margin: 0 0 12px;
	color: var(--jha-blue-dark);
	font-size: 18px;
	line-height: 1.4;
}

.bnx-matching-vendor-detail-services,
.bnx-matching-vendor-detail-areas,
.bnx-matching-vendor-detail-tags,
.bnx-matching-vendor-detail-features {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
	font-size: 14px;
}

.bnx-matching-vendor-detail-text {
	color: var(--jha-muted);
	font-size: 15px;
	line-height: 1.85;
}

.bnx-matching-vendor-detail-text p {
	margin: 0 0 12px;
}

.bnx-matching-vendor-detail-text p:last-child {
	margin-bottom: 0;
}

.bnx-matching-vendor-detail-review-placeholder {
	margin: 0;
	color: var(--jha-muted);
	font-size: 14px;
	line-height: 1.7;
}

.jha-top-hero,
.jha-top-search,
.jha-top-section,
.jha-top-purpose,
.jha-top-area,
.jha-top-popular-area,
.jha-top-points,
.jha-top-reason,
.jha-top-column,
.jha-top-vendor-cta {
	--jha-blue: #0969a8;
	--jha-blue-dark: #064f85;
	--jha-blue-soft: #eaf6fd;
	--jha-blue-pale: #f5fbff;
	--jha-cyan: #16a3d8;
	--jha-border: #d7e6ef;
	--jha-gray: #f4f7f9;
	--jha-text: #1f3446;
	--jha-muted: #607282;
	--jha-shadow: 0 10px 28px rgba( 15, 76, 117, 0.08 );
	box-sizing: border-box;
	color: var(--jha-text);
}

.jha-top-hero *,
.jha-top-search *,
.jha-top-section *,
.jha-top-purpose *,
.jha-top-area *,
.jha-top-popular-area *,
.jha-top-points *,
.jha-top-reason *,
.jha-top-column *,
.jha-top-vendor-cta * {
	box-sizing: inherit;
}

.jha-top-hero {
	width: 100%;
	max-width: none;
	margin: 0 0 40px;
	padding: clamp( 34px, 5vw, 56px ) 24px;
	border: 1px solid var(--jha-border);
	border-right: 0;
	border-left: 0;
	border-radius: 0;
	background: linear-gradient( 135deg, #ffffff 0%, var(--jha-blue-pale) 52%, var(--jha-blue-soft) 100% );
	box-sizing: border-box;
	overflow: hidden;
}

.jha-top-hero > .wp-block-columns,
.jha-top-hero .wp-block-columns {
	display: flex;
	gap: clamp( 28px, 4vw, 56px );
	align-items: center;
	justify-content: space-between;
	width: 100%;
	max-width: 1240px;
	margin-right: auto;
	margin-left: auto;
	padding-right: 32px;
	padding-left: 32px;
	box-sizing: border-box;
}

.jha-top-hero-content {
	flex: 0 1 620px;
	min-width: min( 100%, 560px );
	max-width: 640px;
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
}

.jha-top-hero-visual {
	flex: 1 1 440px;
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 320px;
}

.jha-top-hero-visual img {
	display: block;
	width: 100%;
	max-width: 460px;
	height: auto;
	border-radius: 8px;
}

.jha-top-hero h1,
.jha-top-hero h2 {
	max-width: 840px;
	margin: 0 0 14px;
	color: var(--jha-blue-dark);
	font-size: 38px;
	line-height: 1.25;
}

.jha-top-hero-title,
.jha-top-hero h1 {
	word-break: keep-all;
	overflow-wrap: normal;
	line-height: 1.22;
	letter-spacing: 0;
}

.jha-top-hero p {
	max-width: 760px;
	margin: 0 0 18px;
	color: var(--jha-muted);
	font-size: 17px;
	line-height: 1.9;
}

.jha-top-hero .wp-block-buttons {
	margin-top: 24px;
}

.jha-top-hero .wp-block-button__link,
.jha-top-vendor-cta .wp-block-button__link {
	border-radius: 6px;
	background: var(--jha-blue);
	color: #fff;
	font-weight: 700;
}

.jha-top-hero .wp-block-button__link:hover,
.jha-top-hero .wp-block-button__link:focus,
.jha-top-vendor-cta .wp-block-button__link:hover,
.jha-top-vendor-cta .wp-block-button__link:focus {
	background: var(--jha-blue-dark);
	color: #fff;
}

.jha-top-search {
	margin: 24px 0 14px;
	padding: 18px 20px;
	border: 1px solid var(--jha-border-strong);
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 12px 30px rgba( 15, 76, 117, 0.1 );
}

.jha-top-hero .jha-top-search .bnx-matching-search {
	margin: 0;
}

.jha-top-hero .jha-top-search .bnx-matching-search-form {
	gap: 12px;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
}

.jha-top-hero .jha-top-search .bnx-matching-search-field {
	flex: 1 1 200px;
	min-width: 190px;
}

.jha-top-hero .jha-top-search .bnx-matching-search-field-button {
	flex: 0 0 136px;
	min-width: 136px;
}

.jha-top-hero .jha-top-search .bnx-matching-search-button {
	width: 100%;
	min-height: 46px;
	padding: 10px 18px;
	white-space: nowrap;
}

.jha-top-popular-area {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
	margin: 12px 0 0;
	padding: 0;
}

.jha-top-popular-area .wp-block-button,
.jha-top-popular-area li {
	margin: 0;
}

.jha-top-popular-area .wp-block-button__link,
.jha-top-popular-area a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 94px;
	min-height: 34px;
	padding: 7px 14px;
	border: 1px solid var(--jha-border-strong);
	border-radius: 999px;
	background: var(--jha-blue-pale);
	color: var(--jha-blue-dark);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.35;
	text-align: center;
	text-decoration: none;
	white-space: nowrap;
}

.jha-top-popular-area .wp-block-button__link:hover,
.jha-top-popular-area .wp-block-button__link:focus,
.jha-top-popular-area a:hover,
.jha-top-popular-area a:focus {
	border-color: var(--jha-blue);
	background: var(--jha-blue);
	color: #fff;
	text-decoration: none;
}

.jha-top-section {
	margin: 44px 0;
}

.jha-top-section-header {
	margin: 0 0 22px;
}

.jha-top-section-header.aligncenter,
.jha-top-section-header.has-text-align-center {
	text-align: center;
}

.jha-top-section-header h2,
.jha-top-section-header h3 {
	margin: 0 0 8px;
	color: var(--jha-blue-dark);
	line-height: 1.35;
}

.jha-top-section-header p {
	max-width: 760px;
	margin: 0;
	color: var(--jha-muted);
	line-height: 1.8;
}

.jha-top-section-header.aligncenter p,
.jha-top-section-header.has-text-align-center p {
	margin-right: auto;
	margin-left: auto;
}

.jha-top-hero-title,
.jha-top-hero h1 {
	max-width: 900px;
	margin: 0 0 18px;
	color: var(--jha-blue-dark);
	font-size: clamp( 38px, 3.8vw, 46px );
	font-weight: 800;
	line-height: 1.22;
	letter-spacing: 0;
}

.jha-top-hero-title strong,
.jha-top-hero h1 strong {
	color: var(--jha-blue);
}

.jha-top-section h2 {
	position: relative;
	margin: 0 0 22px;
	padding-bottom: 14px;
	color: var(--jha-blue-dark);
	font-size: 30px;
	font-weight: 800;
	line-height: 1.35;
	letter-spacing: 0;
}

.jha-top-section h2::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 56px;
	height: 4px;
	border-radius: 999px;
	background: linear-gradient( 90deg, var(--jha-blue) 0%, var(--jha-cyan) 100% );
}

.jha-top-section-header.aligncenter h2::after,
.jha-top-section-header.has-text-align-center h2::after {
	right: 0;
	left: 0;
	margin: 0 auto;
}

.jha-top-section h3 {
	margin: 0 0 10px;
	color: var(--jha-blue-dark);
	font-size: 20px;
	font-weight: 700;
	line-height: 1.45;
	letter-spacing: 0;
}

.jha-top-section-header h2 {
	margin-bottom: 12px;
}

.jha-top-section-header h3 {
	margin-bottom: 8px;
	color: var(--jha-blue);
	font-size: 18px;
}

.jha-top-section-header p {
	font-size: 15px;
}

.jha-top-section .bnx-matching-featured-vendors {
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
}

.jha-top-section .bnx-matching-featured-vendors-header {
	margin: 0 0 22px;
}

.jha-top-section .bnx-matching-featured-vendors-title {
	position: relative;
	margin: 0 0 12px;
	padding: 0 0 14px;
	color: var(--jha-blue-dark);
	font-size: 30px;
	font-weight: 800;
	line-height: 1.35;
	letter-spacing: 0;
}

.jha-top-section .bnx-matching-featured-vendors-title::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 56px;
	height: 4px;
	border-radius: 999px;
	background: linear-gradient( 90deg, var(--jha-blue) 0%, var(--jha-cyan) 100% );
}

.jha-top-section .bnx-matching-featured-vendors-description {
	max-width: 760px;
	margin: 0;
	color: var(--jha-muted);
	font-size: 15px;
	line-height: 1.8;
}

.jha-top-purpose,
.jha-top-area,
.jha-top-points,
.jha-top-reason,
.jha-top-column {
	margin: 24px 0;
}

.jha-top-purpose .wp-block-columns,
.jha-top-area .wp-block-columns,
.jha-top-points .wp-block-columns,
.jha-top-reason .wp-block-columns,
.jha-top-column .wp-block-columns {
	gap: 18px;
}

.jha-top-purpose .wp-block-column,
.jha-top-area .wp-block-column,
.jha-top-points .wp-block-column,
.jha-top-reason .wp-block-column,
.jha-top-column .wp-block-column {
	padding: 18px;
	border: 1px solid var(--jha-border);
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 6px 20px rgba( 15, 76, 117, 0.05 );
}

.jha-top-purpose h3,
.jha-top-area h3,
.jha-top-points h3,
.jha-top-reason h3,
.jha-top-column h3 {
	margin-top: 0;
	color: var(--jha-blue-dark);
	line-height: 1.4;
}

.jha-top-purpose p,
.jha-top-area p,
.jha-top-points p,
.jha-top-reason p,
.jha-top-column p {
	color: var(--jha-muted);
	line-height: 1.8;
}

.jha-top-purpose a,
.jha-top-area a {
	color: var(--jha-blue);
	font-weight: 700;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.jha-top-purpose .wp-block-button__link,
.jha-top-area .wp-block-button__link {
	border: 1px solid var(--jha-border);
	border-radius: 6px;
	background: var(--jha-blue-pale);
	color: var(--jha-blue-dark);
	font-weight: 700;
}

.jha-top-purpose .wp-block-button__link:hover,
.jha-top-purpose .wp-block-button__link:focus,
.jha-top-area .wp-block-button__link:hover,
.jha-top-area .wp-block-button__link:focus {
	border-color: var(--jha-cyan);
	background: var(--jha-blue-soft);
	color: var(--jha-blue-dark);
}

.jha-top-points {
	padding: 24px;
	border-radius: 8px;
	background: var(--jha-gray);
}

.jha-top-points ul,
.jha-top-reason ul {
	margin: 0;
	padding-left: 1.25em;
}

.jha-top-points li,
.jha-top-reason li {
	margin: 0 0 8px;
	color: var(--jha-text);
	line-height: 1.75;
}

.jha-top-reason {
	padding: 24px;
	border: 1px solid var(--jha-border);
	border-radius: 8px;
	background: linear-gradient( 180deg, #ffffff 0%, var(--jha-blue-pale) 100% );
}

.jha-top-column .wp-block-post,
.jha-top-column .wp-block-latest-posts li {
	padding: 16px;
	border: 1px solid var(--jha-border);
	border-radius: 8px;
	background: #fff;
}

.jha-top-column .wp-block-post-title,
.jha-top-column .wp-block-latest-posts__post-title {
	color: var(--jha-blue-dark);
	font-weight: 700;
}

.jha-top-vendor-cta {
	margin: 48px 0 24px;
	padding: 28px;
	border-radius: 8px;
	background: var(--jha-blue-dark);
	color: #fff;
}

.jha-top-vendor-cta h2,
.jha-top-vendor-cta h3,
.jha-top-vendor-cta p {
	color: #fff;
}

.jha-top-vendor-cta p {
	max-width: 760px;
	line-height: 1.8;
}

.jha-top-vendor-cta .wp-block-button__link {
	background: #fff;
	color: var(--jha-blue-dark);
}

.jha-top-vendor-cta .wp-block-button__link:hover,
.jha-top-vendor-cta .wp-block-button__link:focus {
	background: var(--jha-blue-soft);
	color: var(--jha-blue-dark);
}

@media (max-width: 768px) {
	.bnx-matching-featured-vendors,
	.jha-top-search,
	.jha-top-points,
	.jha-top-reason,
	.jha-top-vendor-cta {
		padding: 18px;
	}

	.bnx-matching-search-form {
		display: block;
		padding: 16px;
		border-radius: 10px;
	}

	.bnx-matching-search-field {
		margin-bottom: 12px;
	}

	.bnx-matching-search-field-button {
		margin-bottom: 0;
	}

	.bnx-matching-search-button {
		width: 100%;
		min-height: 48px;
	}

	.bnx-matching-search-result-count {
		font-size: 14px;
	}

	.bnx-matching-pr-description {
		padding: 11px 13px 11px 38px;
		font-size: 12px;
	}

	.bnx-matching-pr-description::before {
		top: 13px;
		left: 14px;
	}

	.bnx-matching-vendor-card {
		flex-direction: column;
		gap: 0;
	}

	.bnx-matching-vendor-card:hover {
		transform: none;
	}

	.bnx-matching-vendor-photo {
		flex: none;
		width: 100%;
		height: 220px;
		min-height: 220px;
	}

	.bnx-matching-vendor-body {
		padding: 16px;
	}

	.bnx-matching-search .bnx-matching-vendor-body {
		gap: 10px;
		padding: 16px;
	}

	.bnx-matching-pr-label {
		top: 16px;
		right: 16px;
	}

	.bnx-matching-vendor-title {
		font-size: 18px;
	}

	.bnx-matching-search .bnx-matching-vendor-title {
		font-size: 18px;
	}

	.bnx-matching-search .bnx-matching-vendor-card__catchphrase {
		font-size: 14px;
	}

	.bnx-matching-search .bnx-matching-vendor-services,
	.bnx-matching-search .bnx-matching-vendor-areas,
	.bnx-matching-search .bnx-matching-vendor-features {
		gap: 6px;
	}

	.bnx-matching-search .bnx-matching-term-label {
		flex-basis: 100%;
	}

	.bnx-matching-search .bnx-matching-vendor-actions {
		display: grid;
		grid-template-columns: 1fr;
		gap: 8px;
	}

	.bnx-matching-search .bnx-matching-vendor-button {
		width: 100%;
		min-height: 46px;
	}

	.bnx-matching-featured-vendors-title {
		font-size: 22px;
	}

	.bnx-matching-vendor-detail-hero {
		display: block;
	}

	.bnx-matching-vendor-detail-photo {
		min-height: 240px;
	}

	.bnx-matching-vendor-detail-summary {
		padding: 18px;
	}

	.bnx-matching-vendor-detail-title {
		font-size: 22px;
	}

	.bnx-matching-vendor-detail__catchphrase {
		font-size: 16px;
	}

	.bnx-matching-vendor-detail-section {
		padding: 16px;
	}

	.jha-top-hero {
		padding: 32px 18px;
	}

	.jha-top-hero > .wp-block-columns,
	.jha-top-hero .wp-block-columns {
		display: block;
		padding-right: 0;
		padding-left: 0;
	}

	.jha-top-hero-content {
		min-width: 0;
		max-width: none;
	}

	.jha-top-hero-visual {
		max-width: 320px;
		min-width: 0;
		margin: 20px auto 0;
	}

	.jha-top-hero .jha-top-search {
		margin: 18px 0 14px;
		padding: 14px;
	}

	.jha-top-hero h1,
	.jha-top-hero h2 {
		font-size: 28px;
	}

	.jha-top-hero-title,
	.jha-top-hero h1 {
		margin-bottom: 14px;
		font-size: 30px;
		line-height: 1.3;
		overflow-wrap: anywhere;
	}

	.jha-top-hero p {
		margin-bottom: 14px;
		font-size: 15px;
		line-height: 1.75;
	}

	.jha-top-popular-area {
		display: grid;
		grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
		gap: 8px;
	}

	.jha-top-popular-area .wp-block-button__link,
	.jha-top-popular-area a {
		width: 100%;
		min-width: 0;
		padding-right: 10px;
		padding-left: 10px;
	}

	.jha-top-section {
		margin: 32px 0;
	}

	.jha-top-section-header {
		margin-bottom: 16px;
	}

	.jha-top-section h2 {
		margin-bottom: 18px;
		padding-bottom: 12px;
		font-size: 24px;
		line-height: 1.4;
	}

	.jha-top-section h2::after {
		width: 44px;
		height: 3px;
	}

	.jha-top-section .bnx-matching-featured-vendors-header {
		margin-bottom: 16px;
	}

	.jha-top-section .bnx-matching-featured-vendors-title {
		margin-bottom: 10px;
		padding-bottom: 12px;
		font-size: 24px;
		line-height: 1.4;
	}

	.jha-top-section .bnx-matching-featured-vendors-title::after {
		width: 44px;
		height: 3px;
	}

	.jha-top-section .bnx-matching-featured-vendors-description {
		font-size: 14px;
		line-height: 1.75;
	}

	.jha-top-section h3 {
		font-size: 18px;
		line-height: 1.45;
	}

	.jha-top-section-header h3 {
		font-size: 16px;
	}

	.jha-top-section-header p {
		font-size: 14px;
		line-height: 1.75;
	}

	.jha-top-purpose .wp-block-column,
	.jha-top-area .wp-block-column,
	.jha-top-points .wp-block-column,
	.jha-top-reason .wp-block-column,
	.jha-top-column .wp-block-column {
		padding: 16px;
	}
}

.jha-pattern-recommend {
	--jha-blue: #0969a8;
	--jha-blue-dark: #064f85;
	--jha-blue-soft: #eaf6fd;
	--jha-blue-pale: #f5fbff;
	--jha-cyan: #16a3d8;
	--jha-border: #d7e6ef;
	--jha-border-strong: #b9d6e8;
	--jha-text: #1f3446;
	--jha-muted: #607282;
	--jha-shadow: 0 8px 18px rgba( 0, 84, 135, 0.08 );
	box-sizing: border-box;
	width: 100%;
	margin: 0 auto;
	padding: 44px 0 48px;
	color: var(--jha-text);
}

.jha-pattern-recommend *,
.jha-pattern-recommend *::before,
.jha-pattern-recommend *::after {
	box-sizing: inherit;
}

.jha-pattern-recommend__inner {
	width: min( calc( 100% - 64px ), 1500px );
	margin-right: auto;
	margin-left: auto;
}

.jha-pattern-recommend__head {
	display: flex;
	flex-wrap: nowrap;
	gap: 16px 20px;
	align-items: center;
	justify-content: space-between;
	margin: 0 0 14px;
}

.jha-pattern-recommend__title {
	margin: 0;
	color: var(--jha-blue-dark);
	font-size: clamp( 20px, 1.9vw, 32px );
	font-weight: 800;
	line-height: 1.3;
	letter-spacing: 0;
}

.jha-pattern-recommend__more {
	flex: 0 0 auto;
	margin: 0;
	color: var(--jha-blue);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.4;
	white-space: nowrap;
}

.jha-pattern-recommend__more a {
	color: var(--jha-blue);
	text-decoration: none;
}

.jha-pattern-recommend__more a::after {
	content: "›";
	margin-left: 6px;
	font-size: 14px;
	line-height: 1;
}

.jha-pattern-recommend__more a:hover,
.jha-pattern-recommend__more a:focus {
	color: var(--jha-blue-dark);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.jha-pattern-recommend__grid {
	display: grid;
	grid-template-columns: repeat( 5, minmax( 0, 1fr ) );
	gap: 18px;
	align-items: stretch;
	margin: 0;
}

.jha-pattern-recommend__grid > .jha-pattern-vendor-card {
	min-width: 0;
	margin: 0;
}

.jha-pattern-vendor-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	min-width: 0;
	overflow: hidden;
	border: 1px solid rgba( 0, 119, 182, 0.18 );
	border-radius: 10px;
	background: #fff;
	color: var(--jha-text);
	box-shadow: var(--jha-shadow);
}

.jha-pattern-vendor-card__image {
	width: 100%;
	height: 120px;
	margin: 0;
	background: linear-gradient( 135deg, var(--jha-blue-soft), #f7fbfd );
}

.jha-pattern-vendor-card .wp-block-image,
.jha-pattern-vendor-card figure {
	display: block;
	margin: 0;
}

.jha-pattern-vendor-card__image img {
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 10px 10px 0 0;
	object-fit: cover;
}

.jha-pattern-vendor-card__body {
	padding: 12px 14px 14px;
}

.jha-pattern-vendor-card__name {
	margin: 0 0 6px;
	color: var(--jha-blue-dark);
	font-size: 15px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0;
	word-break: keep-all;
	overflow-wrap: break-word;
}

.jha-pattern-vendor-card__area,
.jha-pattern-vendor-card__rating,
.jha-pattern-vendor-card__services {
	margin: 0 0 8px;
	color: var(--jha-muted);
	font-size: 12px;
	line-height: 1.5;
	word-break: keep-all;
	overflow-wrap: break-word;
}

.jha-pattern-vendor-card__rating {
	color: var(--jha-blue-dark);
	font-weight: 700;
}

.jha-pattern-vendor-card__services {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 0;
}

.jha-pattern-vendor-card__service {
	margin: 0;
	padding: 4px 8px;
	border: 1px solid var(--jha-border);
	border-radius: 6px;
	background: var(--jha-blue-pale);
	color: var(--jha-blue-dark);
	font-size: 12px;
	font-weight: 700;
	line-height: 1.25;
}

@media (max-width: 1023px) {
	.jha-pattern-recommend__grid {
		grid-template-columns: repeat( 2, minmax( 220px, 1fr ) );
	}

	.jha-pattern-vendor-card__image {
		height: 150px;
	}
}

@media (max-width: 767px) {
	.jha-pattern-recommend {
		padding: 36px 0;
	}

	.jha-pattern-recommend__inner {
		width: min( calc( 100% - 32px ), 1320px );
	}

	.jha-pattern-recommend__head {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: space-between;
		margin-bottom: 14px;
	}

	.jha-pattern-recommend__title {
		font-size: 24px;
		line-height: 1.4;
	}

	.jha-pattern-recommend__more {
		margin-top: 0;
	}

	.jha-pattern-recommend__grid {
		grid-template-columns: minmax( 0, 1fr );
		gap: 14px;
	}

	.jha-pattern-vendor-card__image {
		height: 160px;
	}

	.jha-pattern-vendor-card__name {
		font-size: 16px;
	}
}

.jha-recommend-section {
	--jha-blue: #0969a8;
	--jha-blue-dark: #064f85;
	--jha-blue-soft: #eaf6fd;
	--jha-blue-pale: #f5fbff;
	--jha-cyan: #16a3d8;
	--jha-border: #d7e6ef;
	--jha-border-strong: #b9d6e8;
	--jha-text: #1f3446;
	--jha-muted: #607282;
	--jha-shadow: 0 12px 30px rgba( 15, 76, 117, 0.08 );
	box-sizing: border-box;
	width: 100%;
	max-width: none;
	margin: 28px auto 0;
	padding: 0 24px;
	color: var(--jha-text);
}

.jha-recommend-section *,
.jha-recommend-section *::before,
.jha-recommend-section *::after {
	box-sizing: inherit;
}

.jha-recommend-head,
.jha-recommend-head.wp-block-columns {
	display: grid;
	grid-template-columns: minmax( 0, 1fr ) auto;
	gap: 18px 28px;
	align-items: center;
	width: min( calc( 100% - 96px ), 1760px );
	max-width: none;
	margin-top: 36px;
	margin-right: auto;
	margin-bottom: 16px;
	margin-left: auto;
}

.jha-recommend-head > .wp-block-column {
	min-width: 0;
}

.jha-recommend-head h2,
.jha-recommend-head h3 {
	margin: 0;
	color: var(--jha-blue-dark);
	letter-spacing: 0;
}

.jha-recommend-head h2 {
	font-size: clamp( 24px, 2.7vw, 34px );
	font-weight: 800;
	line-height: 1.35;
}

.jha-recommend-head h3 {
	font-size: 17px;
	font-weight: 700;
	line-height: 1.55;
}

.jha-recommend-head p {
	max-width: 720px;
	margin: 8px 0 0;
	color: var(--jha-muted);
	font-size: 15px;
	line-height: 1.8;
}

.jha-recommend-head a {
	color: var(--jha-blue);
	font-weight: 700;
	text-decoration: none;
	text-underline-offset: 3px;
}

.jha-recommend-head a:hover,
.jha-recommend-head a:focus {
	color: var(--jha-blue-dark);
	text-decoration: underline;
}

.jha-recommend-head > .wp-block-column:last-child {
	align-self: center;
	text-align: right;
}

.jha-recommend-head > .wp-block-column:last-child a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 9px 18px;
	border: 1px solid var(--jha-border-strong);
	border-radius: 999px;
	background: #fff;
	box-shadow: 0 8px 18px rgba( 15, 76, 117, 0.06 );
	line-height: 1.35;
	white-space: nowrap;
}

.jha-recommend-head > .wp-block-column:last-child a:hover,
.jha-recommend-head > .wp-block-column:last-child a:focus {
	border-color: var(--jha-blue);
	background: var(--jha-blue-pale);
	text-decoration: none;
}

.jha-recommend-list,
.jha-recommend-list.wp-block-columns {
	display: grid;
	grid-template-columns: repeat( 5, minmax( 0, 1fr ) );
	gap: 16px !important;
	align-items: stretch;
	width: min( calc( 100% - 96px ), 1760px );
	max-width: none;
	margin-top: 0;
	margin-right: auto;
	margin-bottom: 44px;
	margin-left: auto;
}

.jha-recommend-list > .wp-block-column {
	flex-basis: auto !important;
	width: auto;
	max-width: none;
	min-width: 0;
	margin: 0;
}

.jha-vendor-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	min-width: 0;
	overflow: hidden;
	border: 1px solid var(--jha-border);
	border-radius: 8px;
	background: #fff;
	box-shadow: var(--jha-shadow);
	color: var(--jha-text);
	transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.jha-vendor-card:hover,
.jha-vendor-card:focus-within {
	border-color: var(--jha-border-strong);
	box-shadow: 0 16px 36px rgba( 15, 76, 117, 0.12 );
	transform: translateY(-2px);
}

.jha-vendor-card a {
	color: inherit;
	text-decoration: none;
}

.jha-vendor-card a:hover,
.jha-vendor-card a:focus {
	color: inherit;
	text-decoration: none;
}

.jha-vendor-card > a,
.jha-vendor-card .wp-block-group__link {
	display: flex;
	flex: 1;
	flex-direction: column;
	min-width: 0;
}

.jha-vendor-card figure,
.jha-vendor-card .wp-block-image {
	width: 100%;
	margin: 0;
}

.jha-vendor-card img {
	display: block;
	width: 100%;
	height: 165px;
	border-radius: 8px 8px 0 0;
	object-fit: cover;
	background: var(--jha-blue-soft);
}

.jha-vendor-card h3,
.jha-vendor-card h4 {
	margin: 14px 16px 5px;
	color: var(--jha-blue-dark);
	font-size: 16px;
	font-weight: 800;
	line-height: 1.42;
	letter-spacing: 0;
	word-break: keep-all;
	overflow-wrap: break-word;
}

.jha-vendor-card p {
	margin: 0 16px 7px;
	color: var(--jha-muted);
	font-size: 13px;
	line-height: 1.58;
	word-break: keep-all;
	overflow-wrap: break-word;
}

.jha-vendor-card p:last-child {
	margin-bottom: 16px;
}

.jha-vendor-card strong {
	color: var(--jha-blue-dark);
	font-weight: 700;
}

.jha-vendor-card .has-small-font-size {
	font-size: 13px !important;
}

.jha-vendor-card .wp-block-buttons {
	margin: auto 16px 16px;
}

.jha-vendor-card .wp-block-button__link {
	width: 100%;
	border-radius: 999px;
	background: var(--jha-blue);
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	text-decoration: none;
}

.jha-vendor-card .wp-block-button__link:hover,
.jha-vendor-card .wp-block-button__link:focus {
	background: var(--jha-blue-dark);
	color: #fff;
	text-decoration: none;
}

@media (max-width: 1199px) {
	.jha-recommend-list,
	.jha-recommend-list.wp-block-columns {
		grid-template-columns: repeat( 2, minmax( 220px, 1fr ) );
	}

	.jha-vendor-card img {
		height: 190px;
	}
}

@media (max-width: 768px) {
	.jha-recommend-section {
		margin-top: 24px;
		padding: 0 16px;
	}

	.jha-recommend-head,
	.jha-recommend-head.wp-block-columns {
		display: block;
		width: 100%;
		margin-top: 28px;
		margin-bottom: 14px;
	}

	.jha-recommend-head h2 {
		font-size: 24px;
		line-height: 1.4;
	}

	.jha-recommend-head p {
		font-size: 14px;
		line-height: 1.75;
	}

	.jha-recommend-head > .wp-block-column:last-child {
		margin-top: 12px;
		text-align: left;
	}

	.jha-recommend-list,
	.jha-recommend-list.wp-block-columns {
		width: 100%;
		grid-template-columns: minmax( 0, 1fr );
		gap: 14px;
		margin-bottom: 32px;
	}

	.jha-vendor-card {
		min-width: 0;
	}

	.jha-vendor-card:hover,
	.jha-vendor-card:focus-within {
		transform: none;
	}

	.jha-vendor-card img {
		height: 200px;
	}

	.jha-vendor-card h3,
	.jha-vendor-card h4 {
		margin-right: 14px;
		margin-left: 14px;
		font-size: 16px;
		overflow-wrap: break-word;
	}

	.jha-vendor-card p {
		margin-right: 14px;
		margin-left: 14px;
		font-size: 13px;
	}

	.jha-vendor-card p:last-child {
		margin-bottom: 14px;
	}
}

.jha-hero {
	--jha-blue: #0969a8;
	--jha-blue-dark: #064f85;
	--jha-blue-soft: #eaf6fd;
	--jha-blue-pale: #f5fbff;
	--jha-cyan: #16a3d8;
	--jha-border: #d7e6ef;
	--jha-border-strong: #b9d6e8;
	--jha-text: #1f3446;
	--jha-muted: #607282;
	--jha-shadow: 0 14px 36px rgba( 15, 76, 117, 0.1 );
	--jha-hero-image: none; /* Replace none with url("画像URL") when the hero visual is ready. */
	box-sizing: border-box;
	width: 100vw;
	max-width: 100vw;
	min-height: clamp( 460px, 48vw, 580px );
	margin: 0 calc( 50% - 50vw ) 44px;
	padding: clamp( 8px, 2vw, 20px ) 24px clamp( 24px, 4vw, 44px );
	overflow: hidden;
	background-color: var(--jha-blue-pale);
	background-image:
		linear-gradient( 90deg, #ffffff 0%, rgba( 255, 255, 255, 0.92 ) 40%, rgba( 245, 251, 255, 0.38 ) 58%, rgba( 234, 246, 253, 0.04 ) 76%, rgba( 234, 246, 253, 0 ) 100% ),
		var(--jha-hero-image),
		linear-gradient( 135deg, #ffffff 0%, var(--jha-blue-pale) 54%, var(--jha-blue-soft) 100% );
	background-repeat: no-repeat, no-repeat, no-repeat;
	background-position: center, right center, center;
	background-size: cover, cover, cover;
	color: var(--jha-text);
}

.post_content > .jha-hero:first-child,
.entry-content > .jha-hero:first-child,
.jha-hero:first-child {
	margin-top: 0;
}

.jha-hero *,
.jha-hero *::before,
.jha-hero *::after {
	box-sizing: inherit;
}

.jha-hero__inner {
	display: grid;
	grid-template-columns: minmax( 0, 620px ) minmax( 260px, 1fr );
	gap: clamp( 28px, 5vw, 72px );
	align-items: center;
	width: 100%;
	max-width: 1240px;
	height: 100%;
	min-height: inherit;
	margin: 0 auto;
	padding: 0 clamp( 8px, 2vw, 24px );
}

.jha-hero__content {
	position: relative;
	z-index: 1;
	min-width: 0;
	max-width: 620px;
}

.jha-hero__eyebrow {
	display: inline-flex;
	align-items: center;
	min-height: 30px;
	margin: 0 0 14px;
	padding: 5px 12px;
	border: 1px solid var(--jha-border-strong);
	border-radius: 999px;
	background: #fff;
	color: var(--jha-blue-dark);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.35;
}

.jha-hero__title {
	margin: 0 0 16px;
	color: var(--jha-blue-dark);
	font-size: clamp( 38px, 4vw, 48px );
	font-weight: 800;
	line-height: 1.22;
	letter-spacing: 0;
	word-break: keep-all;
	overflow-wrap: normal;
}

.jha-hero__title strong {
	color: var(--jha-blue);
}

.jha-hero__lead {
	max-width: 560px;
	margin: 0 0 24px;
	color: var(--jha-muted);
	font-size: 17px;
	line-height: 1.85;
}

.jha-hero__search {
	margin: 0 0 14px;
	padding: 18px 20px;
	border: 1px solid var(--jha-border-strong);
	border-radius: 8px;
	background: #fff;
	box-shadow: var(--jha-shadow);
}

.jha-hero__search .bnx-matching-search {
	margin: 0;
}

.jha-hero__search .bnx-matching-search-form {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: flex-end;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
}

.jha-hero__search .bnx-matching-search-field {
	flex: 1 1 190px;
	min-width: 180px;
	margin: 0;
}

.jha-hero__search .bnx-matching-search-field-button {
	flex: 0 0 132px;
	min-width: 132px;
}

.jha-hero__search .bnx-matching-search-button {
	width: 100%;
	min-height: 46px;
	padding: 10px 18px;
	white-space: nowrap;
}

.jha-hero__areas {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
	margin: 0;
	padding: 0;
	list-style: none;
}

.jha-hero__area {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 94px;
	min-height: 34px;
	padding: 7px 14px;
	border: 1px solid var(--jha-border-strong);
	border-radius: 999px;
	background: rgba( 255, 255, 255, 0.78 );
	color: var(--jha-blue-dark);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.35;
	text-align: center;
	text-decoration: none;
	white-space: nowrap;
}

.jha-hero__area:hover,
.jha-hero__area:focus {
	border-color: var(--jha-blue);
	background: var(--jha-blue);
	color: #fff;
	text-decoration: none;
}

.jha-hero__visual {
	display: none;
}

.jha-hero__visual img {
	display: none;
}

@media (max-width: 768px) {
	.jha-hero {
		margin-bottom: 32px;
		padding: 24px 16px 28px;
		width: 100vw;
		max-width: 100vw;
		min-height: auto;
		margin-right: calc( 50% - 50vw );
		margin-left: calc( 50% - 50vw );
		background-image: linear-gradient( 135deg, #ffffff 0%, var(--jha-blue-pale) 58%, var(--jha-blue-soft) 100% );
		background-position: center;
		background-size: cover;
	}

	.jha-hero__inner {
		display: block;
		height: auto;
		min-height: 0;
		padding: 0;
	}

	.jha-hero__content {
		max-width: none;
	}

	.jha-hero__eyebrow {
		min-height: 26px;
		margin-bottom: 12px;
		padding: 4px 10px;
		font-size: 12px;
		line-height: 1.35;
	}

	.jha-hero__title {
		margin-bottom: 12px;
		font-size: clamp( 22px, 5.8vw, 28px );
		line-height: 1.32;
		overflow-wrap: anywhere;
	}

	.post_content .jha-hero h1.jha-hero__title,
	.post_content .jha-hero__title {
		font-size: clamp( 22px, 5.8vw, 28px );
		line-height: 1.32;
	}

	.post_content .jha-hero__title strong {
		font-size: inherit;
		line-height: inherit;
	}

	.jha-hero__lead {
		max-width: 34em;
		margin-bottom: 14px;
		font-size: 14px;
		line-height: 1.68;
	}

	.jha-hero__search {
		margin-bottom: 12px;
		padding: 12px;
	}

	.jha-hero__search .bnx-matching-search-form {
		display: block;
	}

	.jha-hero__search .bnx-matching-search-field {
		min-width: 0;
		margin-bottom: 12px;
	}

	.jha-hero__search .bnx-matching-search-select {
		width: 100%;
		min-height: 44px;
		font-size: 14px;
	}

	.jha-hero__search .bnx-matching-search-field-button {
		min-width: 0;
		margin-bottom: 0;
	}

	.jha-hero__search .bnx-matching-search-button {
		width: 100%;
		min-height: 46px;
		font-size: 14px;
	}

	.jha-hero__areas {
		display: grid;
		grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
		gap: 8px 9px;
		align-items: stretch;
	}

	.jha-hero__areas-label {
		grid-column: 1 / -1;
		margin: 0 0 2px;
		color: var(--jha-blue-dark);
		font-size: 14px;
		font-weight: 700;
		line-height: 1.45;
	}

	.jha-hero__area {
		width: 100%;
		min-width: 0;
		min-height: 34px;
		padding: 7px 8px;
		font-size: 14px;
		white-space: nowrap;
	}

	.jha-hero__visual {
		max-width: 320px;
		margin: 22px auto 0;
	}
}

#body_wrap.top #content.l-content {
	padding-top: 0;
}
