:root{
	--bd-form-bg:#ffffff;
	--bd-form-text:#333333;
	--bd-form-border:#dddddd;
	--bd-form-radius:6px;
	--bd-btn-bg:#2271b1;
	--bd-btn-text:#ffffff;
	--bd-card-bg:#ffffff;
	--bd-card-border:#e5e5e5;
	--bd-card-radius:8px;
	--bd-card-title:#111111;
	--bd-card-text:#555555;
	--bd-accent:#2271b1;
}

.bd-widget-heading{margin:0 0 16px;}

/* Forms */
.bd-form{
	background:var(--bd-form-bg);
	color:var(--bd-form-text);
	border:1px solid var(--bd-form-border);
	border-radius:var(--bd-form-radius);
	padding:24px;
	max-width:720px;
}
.bd-registration-form{max-width:900px;}
.bd-form-fields{
	display:grid;
	grid-template-columns:repeat(2,1fr);
	gap:16px;
}
.bd-field{display:flex;flex-direction:column;}
.bd-field label{margin-bottom:6px;font-weight:600;font-size:14px;}
.bd-required{color:#d63638;margin-left:2px;}
.bd-field input[type="text"],
.bd-field input[type="email"],
.bd-field input[type="tel"],
.bd-field input[type="url"],
.bd-field select,
.bd-field textarea{
	width:100%;
	padding:10px 12px;
	border:1px solid var(--bd-form-border);
	border-radius:var(--bd-form-radius);
	background:#ffffff;
	color:var(--bd-form-text);
	font-size:14px;
	box-sizing:border-box;
}
.bd-field input:focus,
.bd-field select:focus,
.bd-field textarea:focus{
	outline:none;
	border-color:var(--bd-accent);
	box-shadow:0 0 0 1px var(--bd-accent);
}
.bd-field-business_name,
.bd-field-address{
	grid-column:1 / -1;
}
.bd-error{color:#d63638;font-size:13px;margin-top:4px;min-height:1.1em;}
.bd-form-actions{margin-top:20px;}
.bd-button{
	display:inline-block;
	background:var(--bd-btn-bg);
	color:var(--bd-btn-text);
	border:none;
	border-radius:var(--bd-form-radius);
	padding:12px 28px;
	font-size:15px;
	cursor:pointer;
	transition:opacity .2s ease;
}
.bd-button:hover{opacity:.88;}
.bd-button:disabled{opacity:.6;cursor:not-allowed;}
.bd-form-notice{display:none;margin-top:16px;padding:12px 14px;border-radius:var(--bd-form-radius);font-size:14px;}
.bd-form-notice.bd-form-notice-success{display:block;background:#edfaef;color:#0f6f3c;border:1px solid #b8e6c0;}
.bd-form-notice.bd-form-notice-error{display:block;background:#fcf0f1;color:#b32d2e;border:1px solid #f2c9cc;}
.bd-hp-wrap{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;}

/* Search form */
.bd-search-form{max-width:none;}
.bd-search-fields{
	display:grid;
	grid-template-columns:repeat(4,1fr);
	gap:16px;
	align-items:end;
}
.bd-search-fields .bd-field-submit{margin:0;}

/* Grid */
.bd-listing-grid{
	display:grid;
	grid-template-columns:repeat(var(--bd-columns,4),1fr);
	gap:20px;
	margin-top:16px;
}
@media (max-width:1024px){.bd-listing-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:600px){.bd-listing-grid{grid-template-columns:1fr;}}

/* Cards */
.bd-card{
	background:var(--bd-card-bg);
	border:1px solid var(--bd-card-border);
	border-radius:var(--bd-card-radius);
	padding:20px;
	display:flex;
	flex-direction:column;
	gap:10px;
	transition:box-shadow .2s ease;
	box-sizing:border-box;
}
.bd-card:hover{box-shadow:0 4px 16px rgba(0,0,0,.08);}
.bd-card-title{margin:0;font-size:18px;line-height:1.3;color:var(--bd-card-title);}
.bd-card-category{
	display:inline-block;
	background:var(--bd-accent);
	color:#ffffff;
	font-size:12px;
	padding:3px 10px;
	border-radius:999px;
	align-self:flex-start;
}
.bd-card-meta{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;color:var(--bd-card-text);font-size:14px;}
.bd-card-meta li{display:flex;align-items:center;gap:6px;}
.bd-card-meta a{color:var(--bd-accent);text-decoration:none;}
.bd-card-meta a:hover{text-decoration:underline;}
.bd-facebook-icon{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:20px;
	height:20px;
	background:#1877f2;
	color:#ffffff;
	border-radius:4px;
	font-size:13px;
	font-weight:700;
	line-height:1;
}
.bd-no-results{color:var(--bd-card-text);text-align:center;padding:40px 0;grid-column:1 / -1;}

/* Pagination */
.bd-pagination ul{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;list-style:none;margin:24px 0 0;padding:0;}
.bd-pagination li a,
.bd-pagination li span{
	display:inline-block;
	min-width:38px;
	padding:8px 12px;
	text-align:center;
	border:1px solid var(--bd-form-border);
	border-radius:var(--bd-form-radius);
	color:var(--bd-accent);
	text-decoration:none;
	background:#ffffff;
	box-sizing:border-box;
}
.bd-pagination li span{background:var(--bd-accent);color:#ffffff;border-color:var(--bd-accent);}
.bd-pagination li a:hover{border-color:var(--bd-accent);}

.bd-results-count{color:var(--bd-card-text);margin:16px 0 0;font-size:14px;}

@media (max-width:768px){
	.bd-form-fields{grid-template-columns:1fr;}
	.bd-field-business_name,.bd-field-address{grid-column:auto;}
}
@media (max-width:782px){
	.bd-search-fields{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:480px){
	.bd-search-fields{grid-template-columns:1fr;}
}
