/* Wrapper */
.dh-navf-wrapper {
	font-family: 'Montserrat', sans-serif;
	color: #00263A;
	background: #fff;
	padding: 20px;
	border: 1px solid #eee;
	border-radius: 8px;
}
.dh-navf-wrapper * {
	box-sizing: border-box;
}

/* Title */
.dh-navf-title {
	font-weight: 600;
	margin-bottom: 20px;
	font-size: 16px;
	color: #00263A;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

/* Custom Groups Mode */
.dh-navf-custom-groups {
	display: flex;
	flex-direction: column;
}
.dh-navf-custom-group {
	margin-bottom: 20px;
}
.dh-navf-custom-group:last-child {
	margin-bottom: 0;
}
.dh-navf-custom-group-header {
	margin-bottom: 10px;
}
.dh-navf-custom-group-title {
	font-weight: 600;
	font-size: 14px;
	color: #00263A;
}
.dh-navf-custom-group-toggle {
	background: none;
	border: none;
	padding: 0;
	margin: 0;
	font-family: inherit;
	font-weight: 600;
	font-size: 14px;
	color: #00263A;
	cursor: pointer;
	display: flex;
	align-items: center;
	width: 100%;
	text-align: left;
}
.dh-navf-custom-group-caret {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-right: 8px;
	color: #999;
	transition: color 0.2s ease;
}
.dh-navf-custom-group-toggle:hover .dh-navf-custom-group-caret {
	color: #BD9B60;
}
.dh-navf-custom-group-caret svg {
	width: 12px;
	height: 12px;
	fill: currentColor;
}
.dh-navf-caret-open {
	display: none;
}
.dh-navf-custom-group-is-open .dh-navf-caret-closed {
	display: none;
}
.dh-navf-custom-group-is-open .dh-navf-caret-open {
	display: block;
}
.dh-navf-custom-group-content {
	display: block;
}
.dh-navf-custom-group-is-closed .dh-navf-custom-group-content {
	display: none;
}
.dh-navf-custom-group-items {
	list-style: none;
	padding: 0;
	margin: 0;
}
.dh-navf-custom-group-item {
	padding: 6px 0;
}
.dh-navf-custom-group-link {
	font-size: 13px;
	font-weight: 400;
	color: #666;
	transition: color 0.2s ease;
	display: flex;
	align-items: center;
	text-decoration: none;
}
.dh-navf-custom-hidden {
	display: none !important;
}
.dh-navf-custom-show-more {
	cursor: pointer;
	font-size: 12px;
	color: #999;
	display: inline-block;
	margin-top: 5px;
	transition: color 0.2s ease;
}
.dh-navf-custom-show-more:hover {
	color: #BD9B60;
}
.dh-navf-custom-group-link.is-selected {
	color: #BD9B60;
	font-weight: 600;
}

/* Lists */
.dh-navf-parents-list, .dh-navf-children-list {
	list-style: none;
	padding: 0;
	margin: 0;
}

/* Parent Row */
.dh-navf-parent {
	margin-bottom: 5px;
}
.dh-navf-parent-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 8px 0;
    position: relative; /* for active indicator */
}
.dh-navf-link {
	text-decoration: none !important;
	color: inherit;
	display: flex;
	align-items: center;
    position: relative; /* for active indicator if applied to link */
}
.dh-navf-parent-link {
	flex-grow: 1;
	font-weight: 500;
	font-size: 14px;
	transition: color 0.2s ease;
}

/* Children */
.dh-navf-children-list {
	display: none;
	padding-left: 20px;
	padding-bottom: 10px;
	margin-top: 5px;
}
.dh-navf-parent.is-open > .dh-navf-children-list {
	display: block;
}
.dh-navf-child {
	padding: 6px 0;
    position: relative; /* for active indicator */
}
.dh-navf-child-link {
	font-size: 13px;
	font-weight: 400;
	color: #666;
	transition: color 0.2s ease;
}

/* Active Indicators */
.dh-navf-wrapper.has-parent-indicator .dh-navf-parent.is-active > .dh-navf-parent-header::before,
.dh-navf-wrapper.has-parent-indicator .dh-navf-parent-link.is-selected::before,
.dh-navf-wrapper.has-child-indicator .dh-navf-child.is-active::before,
.dh-navf-wrapper.has-child-indicator .dh-navf-child-link.is-selected::before,
.dh-navf-wrapper.has-parent-indicator .dh-navf-custom-group-link.is-selected::before {
    content: '';
    display: inline-block;
    width: 3px;
    height: 16px;
    background-color: #BD9B60;
    margin-right: 8px;
    border-radius: 2px;
}

/* Default Colors Avoid Theme Pink */
.dh-navf-wrapper a {
	color: #00263A;
}
.dh-navf-wrapper a:hover,
.dh-navf-wrapper a:focus {
	color: #BD9B60;
}
.dh-navf-parent.is-active > .dh-navf-parent-header .dh-navf-parent-link {
	color: #BD9B60;
	font-weight: 600;
}
.dh-navf-child.is-active > .dh-navf-child-link {
	color: #BD9B60;
	font-weight: 500;
}

/* Accordion Icon */
.dh-navf-accordion-icon {
	cursor: pointer;
	padding: 5px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #999;
	transition: color 0.2s ease, background-color 0.2s ease;
}
.dh-navf-accordion-icon:hover {
	color: #BD9B60;
}
.dh-navf-parent.is-open > .dh-navf-parent-header .dh-navf-accordion-icon {
	color: #BD9B60;
}
.dh-navf-accordion-icon svg {
	width: 12px;
	height: 12px;
	fill: currentColor;
}
.dh-navf-icon-open {
	display: none;
}
.dh-navf-parent.is-open .dh-navf-icon-closed {
	display: none;
}
.dh-navf-parent.is-open .dh-navf-icon-open {
	display: block;
}

/* Checkbox Indicator */
.dh-navf-indicator {
	width: 16px;
	height: 16px;
	border: 1px solid #ccc;
	border-radius: 3px;
	margin-right: 10px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background-color: #fff;
	transition: all 0.2s ease;
	position: relative;
	flex-shrink: 0;
}
.dh-navf-link:hover .dh-navf-indicator {
	border-color: #BD9B60;
}
.dh-navf-link.is-selected .dh-navf-indicator {
	background-color: #BD9B60;
	border-color: #BD9B60;
}
.dh-navf-link.is-selected .dh-navf-indicator::after {
	content: '';
	width: 4px;
	height: 8px;
	border: solid #fff;
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
	margin-bottom: 2px;
}

/* Hidden items */
.dh-navf-parent.is-hidden, .dh-navf-child.is-hidden {
	display: none !important;
}

/* Show More / Less */
.dh-navf-toggle-btn {
	cursor: pointer;
	padding: 8px 0;
	font-size: 13px;
	font-weight: 500;
	color: #666;
	display: inline-block;
	transition: color 0.2s ease, background-color 0.2s ease;
}
.dh-navf-toggle-btn:hover {
	color: #BD9B60;
}

/* --- Price Filter Section --- */
.dh-navf-price-section {
	margin-top: 25px;
	padding-top: 20px;
	border-top: 1px solid #eee;
}

.dh-navf-price-title {
	font-weight: 600;
	font-size: 14px;
	color: #00263A;
	margin-bottom: 15px;
	text-transform: uppercase;
}

.dh-navf-price-inputs {
	display: flex;
	gap: 15px;
	margin-bottom: 15px;
}

.dh-navf-price-input-group {
	flex: 1;
	display: flex;
	flex-direction: column;
}

.dh-navf-price-label {
	font-size: 12px;
	color: #666;
	margin-bottom: 5px;
	font-weight: 500;
}

.dh-navf-price-field-wrap {
	display: flex;
	align-items: center;
	border: 1px solid #ddd;
	border-radius: 4px;
	background: #fff;
	overflow: hidden;
	height: 38px;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.dh-navf-price-field-wrap:focus-within {
	border-color: #BD9B60;
}

.dh-navf-price-prefix {
	padding: 0 10px;
	font-size: 13px;
	color: #666;
	background: #f8f8f8;
	height: 100%;
	display: flex;
	align-items: center;
	border-right: 1px solid #ddd;
}

.dh-navf-price-input {
	border: none !important;
	background: transparent !important;
	box-shadow: none !important;
	padding: 0 10px !important;
	font-size: 14px;
	color: #333;
	width: 100%;
	height: 100%;
	outline: none !important;
	-moz-appearance: textfield;
}

.dh-navf-price-input::-webkit-outer-spin-button,
.dh-navf-price-input::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.dh-navf-clear-price-wrap {
	text-align: right;
}

.dh-navf-clear-price-btn {
	background: none;
	border: none;
	padding: 0;
	font-size: 12px;
	color: #999;
	cursor: pointer;
	text-decoration: underline;
	transition: color 0.2s ease, background-color 0.2s ease;
	font-family: inherit;
}

.dh-navf-clear-price-btn:hover {
	color: #d9534f;
}

/* Apply Button */
.dh-navf-actions {
	margin-top: 20px;
}
.dh-navf-apply-btn {
	background-color: #00263A;
	color: #fff;
	border: none;
	padding: 10px 20px;
	border-radius: 4px;
	cursor: pointer;
	font-weight: 600;
	font-size: 14px;
	width: 100%;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, opacity 0.2s ease;
	font-family: inherit;
}
.dh-navf-apply-btn:hover:not(:disabled) {
	background-color: #BD9B60;
}
.dh-navf-apply-btn:disabled {
	opacity: 0.5;
	cursor: not-allowed;
	background-color: #ccc;
}

/* Clear Filters */
.dh-navf-clear-actions {
	margin-top: 15px;
	text-align: center;
}
.dh-navf-clear-btn {
	display: inline-block;
	text-decoration: none !important;
	font-size: 13px;
	color: #999 !important;
	border-bottom: 1px dashed #999;
	padding-bottom: 2px;
	transition: color 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;
}
.dh-navf-clear-btn:hover {
	color: #d9534f !important;
	border-color: #d9534f;
}

/* Responsive */
@media (max-width: 480px) {
	.dh-navf-price-inputs {
		flex-direction: column;
		gap: 10px;
	}
	.dh-navf-clear-price-wrap {
		text-align: left;
	}
}