.dtb-fp-wrapper {
	--dtb-primary: #1b8a94;
	--dtb-text: #111827;
	--dtb-border: #e5484d;
	--dtb-btn-bg: #1c2733;
	--dtb-btn-text: #ffffff;
	--dtb-font: inherit;
	--dtb-container-padding: 16px;
	--dtb-card-padding: 16px;
	--dtb-card-gap: 20px;
	--dtb-radius: 8px;
	--dtb-cols-desktop: 3;
	--dtb-cols-tablet: 2;
	--dtb-cols-mobile: 1;

	max-width: 1200px;
	margin: 30px auto;
	padding: 0 15px;
	box-sizing: border-box;
	font-family: var(--dtb-font);
	color: var(--dtb-text);
	position: relative;
}
.dtb-fp-wrapper *{box-sizing:border-box;}

.dtb-fp-heading{text-align:center;margin-bottom:20px;}
.dtb-fp-heading h2{color:var(--dtb-primary);font-size:32px;margin:0 0 8px;font-weight:600;}
.dtb-fp-heading p{color:#6b7280;margin:0;font-size:15px;}

.dtb-fp-filter-box{
	border:2px solid var(--dtb-border);
	border-radius:6px;
	padding: var(--dtb-container-padding);
	background:#fff;
	position:relative;
	z-index:2;
	overflow:visible;
}

.dtb-fp-fields-row{
	display:flex;
	flex-wrap:wrap;
	gap:16px;
	margin-bottom:16px;
}
.dtb-fp-field{
	flex:1 1 180px;
	min-width:160px;
	border:1px solid #d1d5db;
	border-radius:4px;
	padding:8px 14px 10px;
	background:#fff;
	transition:opacity .25s ease;
}
.dtb-fp-field.dtb-fp-field-disabled{ opacity:.5; }
.dtb-fp-field.dtb-fp-field-disabled .dtb-fp-input,
.dtb-fp-field.dtb-fp-field-disabled .dtb-fp-checkbox-group,
.dtb-fp-field.dtb-fp-field-disabled .dtb-fp-radio-group{ pointer-events:none; cursor:not-allowed; }
.dtb-fp-field.dtb-fp-field-disabled select.dtb-fp-input{ background-color:#f3f4f6; }
.dtb-fp-price-field{ flex-basis: 220px; }

.dtb-fp-field label{display:block;font-size:12px;color:#6b7280;margin-bottom:4px;}
.dtb-fp-field .dtb-fp-input,
.dtb-fp-field select.dtb-fp-input{width:100%;border:none;padding:4px 20px 4px 0;font-size:15px;color:var(--dtb-text);background:transparent;outline:none;appearance:none;-webkit-appearance:none;}
.dtb-fp-field select.dtb-fp-input{
	cursor:pointer;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23555' stroke-width='2' fill='none' fill-rule='evenodd'/%3E%3C/svg%3E");
	background-repeat:no-repeat;
	background-position:right center;
}
.dtb-fp-field select.dtb-fp-input:disabled{ background-color:#f3f4f6; color:#9ca3af; cursor:not-allowed; }
.dtb-fp-dependent-placeholder{ display:block; font-size:12px; color:#9ca3af; font-style:italic; }
.dtb-fp-checkbox-group,.dtb-fp-radio-group{max-height:110px;overflow-y:auto;}
.dtb-fp-checkbox-group label,.dtb-fp-radio-group label{display:block;margin:2px 0;font-size:13px;font-weight:normal;}

.dtb-fp-keyword-row{display:flex;gap:12px;margin-bottom:14px;flex-wrap:wrap;}
.dtb-fp-keyword{flex:1 1 220px;padding:10px 12px;border:1px solid #d1d5db;border-radius:4px;font-size:14px;}
.dtb-fp-orderby{padding:10px 12px;border:1px solid #d1d5db;border-radius:4px;font-size:14px;background:#fff;flex:0 0 auto;}

.dtb-fp-actions-row{display:flex;gap:10px;}
.dtb-fp-search-btn,.dtb-fp-reset-btn{
	flex:1;
	background:var(--dtb-btn-bg);
	color:var(--dtb-btn-text);
	border:none;
	padding:14px;
	font-size:15px;
	letter-spacing:1px;
	font-weight:600;
	border-radius:4px;
	cursor:pointer;
	transition:opacity .2s;
}
.dtb-fp-reset-btn{background:#6b7280;flex:0 0 140px;}
.dtb-fp-search-btn:hover,.dtb-fp-reset-btn:hover{opacity:.9;}

/* Price range slider (jQuery UI, custom-skinned - no external assets) */
.dtb-fp-price-slider{margin:10px 4px 6px;height:6px;position:relative;background:#e5e7eb;border-radius:4px;}
.dtb-fp-price-slider .ui-slider-range{position:absolute;height:100%;background:var(--dtb-primary);border-radius:4px;}
.dtb-fp-price-slider .ui-slider-handle{
	position:absolute;top:50%;transform:translate(-50%,-50%);
	width:16px;height:16px;border-radius:50%;
	background:#fff;border:2px solid var(--dtb-primary);
	cursor:pointer;outline:none;
}
.dtb-fp-price-values{font-size:12px;color:#6b7280;text-align:center;}

.dtb-fp-meta-row{margin:14px 2px;color:#6b7280;font-size:13px;min-height:18px;}

.dtb-fp-loading{text-align:center;padding:30px;color:#6b7280;}
.dtb-fp-no-results{text-align:center;padding:40px 10px;color:#6b7280;font-size:15px;border:1px dashed #d1d5db;border-radius:6px;}

.dtb-fp-results-grid{
	display:grid;
	grid-template-columns:repeat(var(--dtb-cols-mobile),1fr);
	gap:var(--dtb-card-gap);
}
@media (min-width:600px){
	.dtb-fp-results-grid{grid-template-columns:repeat(var(--dtb-cols-tablet),1fr);}
}
@media (min-width:900px){
	.dtb-fp-results-grid{grid-template-columns:repeat(var(--dtb-cols-desktop),1fr);}
}

.dtb-fp-card{
	border:1px solid var(--dtb-card-border, #e5e7eb);
	border-radius:var(--dtb-radius);
	overflow:hidden;
	background:var(--dtb-card-bg, #fff);
	box-shadow:0 1px 3px rgba(0,0,0,.06);
	transition:box-shadow .2s,transform .2s;
}
.dtb-fp-card:hover{box-shadow:0 6px 18px rgba(0,0,0,.1);transform:translateY(-2px);}
.dtb-fp-card-link{display:block;color:inherit;text-decoration:none;}
.dtb-fp-card-thumb img{width:100%;height:170px;object-fit:cover;display:block;}
.dtb-fp-card-body{padding:var(--dtb-card-padding);}
.dtb-fp-card-title{margin:0 0 10px;font-size:18px;color:var(--dtb-text);}
.dtb-fp-card-meta{list-style:none;margin:0 0 10px;padding:0;font-size:13px;color:#4b5563;}
.dtb-fp-card-meta li{margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;}
.dtb-fp-card-excerpt{font-size:13px;color:#6b7280;margin:0 0 10px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;}
.dtb-fp-card-more{display:inline-block;color:var(--dtb-primary);font-size:13px;font-weight:600;}

.dtb-fp-load-more-wrap{text-align:center;margin-top:24px;}
.dtb-fp-load-more{background:var(--dtb-btn-bg);color:var(--dtb-btn-text);border:none;padding:12px 30px;border-radius:4px;cursor:pointer;font-size:14px;font-weight:600;}
.dtb-fp-load-more:hover{opacity:.9;}

@media (max-width:560px){
	.dtb-fp-field{flex-basis:100%;}
	.dtb-fp-keyword-row{flex-direction:column;}
	.dtb-fp-actions-row{flex-direction:column;}
	.dtb-fp-reset-btn{flex-basis:auto;}
}
