/* Respect theme fonts and colors */
#aosis-filters-root{font-family:inherit;margin:0 0 2rem;color:inherit}

/* Layout: sidebar filters + results area */
.aosis-filters{display:flex;gap:1.5rem;align-items:flex-start;color:inherit;font-family:inherit}
.aosis-filters .rf-left{width:320px;flex:0 0 320px}
.aosis-filters .rf-right{flex:1}

/* Search box */
.aosis-filters .rf-search{display:flex;gap:.5rem;margin-bottom:1rem;position:relative}
.aosis-filters .rf-search-input, .aosis-filters input[type="search"]{flex:1;padding:.6rem .75rem;padding-right:56px;border:1px solid rgba(0,0,0,0.06);border-radius:0;background:#ffffff;box-shadow:none;font-size:inherit;color:inherit}
.aosis-filters .rf-search-input{border-right: none}
.aosis-filters .rf-search-btn, .aosis-filters button{background:transparent;color:inherit;border:1px solid currentColor;padding:.55rem .9rem;border-radius:0;cursor:pointer;font-weight:inherit}
.aosis-filters .rf-search-btn:hover, .aosis-filters button:hover{opacity:.95}

/* Icon-only search button (uses Font Awesome icon) */
.aosis-filters .rf-search-btn{
	padding:0; /* icon-only */
	width:44px;
	height:44px;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	position: absolute;
	right: 6px;
	top: 50%;
	transform: translateY(-50%);
	border: none;
	background: transparent;
}
.aosis-filters .rf-search-btn i,
.aosis-filters .rf-search-btn .fa{
	font-size:16px;
	line-height:1;
	color:inherit; /* match theme color */
}

.aosis-filters .rf-search-btn:focus{outline:2px solid rgba(0,0,0,0.12);outline-offset:2px}

/* Visually hidden text for screen readers */
.aosis-filters .screen-reader-text{
	position: absolute !important;
	height: 1px; width: 1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	white-space: nowrap;
}

/* Filters panel */
.aosis-filters .rf-group{border:1px solid rgba(0,0,0,0.06);padding:.75rem;border-radius:0;background:#ffffff;margin-bottom:.75rem}
.aosis-filters .rf-group-toggle{width:100%;text-align:left;background:transparent;border:none;font-weight:inherit;padding:.4rem 0;cursor:pointer;display:flex;align-items:center;justify-content:space-between;font-size:inherit}
.aosis-filters .rf-group-toggle .rf-caret{transition:transform .18s ease}
.aosis-filters .rf-group-body{margin-top:.6rem;padding-top:.25rem}

/* Disable mobile/touch highlight and text selection highlight for filter controls
   while preserving keyboard focus outlines for accessibility. */
.aosis-filters .rf-group-toggle,
.aosis-filters .rf-term,
.aosis-filters .rf-term label {
	-webkit-tap-highlight-color: transparent;
	-webkit-user-select: none;
	-moz-user-select: none;
	user-select: none;
}

/* Ensure active state doesn't apply a background tint on touch devices */
.aosis-filters .rf-group-toggle:active,
.aosis-filters .rf-term:active,
.aosis-filters .rf-term label:active {
	background: transparent;
}

.aosis-filters .rf-group-body{display:none}
.aosis-filters .rf-group.open .rf-group-body{display:block}
.aosis-filters .rf-group .rf-caret{display:inline-block;transform:rotate(0deg)}
.aosis-filters .rf-group.open .rf-caret{transform:rotate(180deg)}

/* Custom checkbox */
.aosis-filters .rf-term{display:flex;align-items:center;gap:.5rem;margin:.35rem 0;font-size:inherit}
.aosis-filters .rf-term input[type="checkbox"]{appearance:none;-webkit-appearance:none;width:18px;height:18px;border:1.6px solid currentColor;border-radius:0;display:inline-block;position:relative;background:transparent;cursor:pointer}
.aosis-filters .rf-term input[type="checkbox"]:checked{background:currentColor;border-color:currentColor}
.aosis-filters .rf-term input[type="checkbox"]:checked:after{content:'\2713';color:inherit;font-size:13px;position:absolute;left:3px;top:0}
.aosis-filters .rf-count{color:rgba(0,0,0,0.45);font-size:0.85em;margin-left:auto}

/* Children toggle button styling: appear unobtrusive to the right of counts */
.aosis-filters .rf-children-toggle{
	border: none;
	background: transparent;
	color: rgba(0,0,0,0.5);
	font-size: 0.95em;
	line-height: 1;
	padding: 0 .35rem;
	margin-left: .4rem;
	cursor: pointer;
}
.aosis-filters .rf-children-toggle:focus{outline:2px solid rgba(24,111,161,0.18);outline-offset:2px}
.aosis-filters .rf-term-heading{margin:.35rem 0;font-weight:600;cursor:default}
.aosis-filters .rf-parent--heading .rf-term-heading{color:rgba(0,0,0,0.75)}

/* Indent children terms inside a group to show hierarchy */
.aosis-filters .rf-children{margin-left:0.75rem;padding-left:0.75rem;border-left:2px solid rgba(0,0,0,0.04)}
.aosis-filters .rf-children .rf-term.rf-child{margin-left:.25rem;font-size:0.97em}
.aosis-filters .rf-children .rf-term.rf-child .rf-count{margin-left:auto}

/* Results list: card style */
.aosis-filters .rf-result-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:12px}
.aosis-filters .rf-result-item{padding:14px;border-radius:0;background:transparent;border:1px solid currentColor;box-shadow:none}
.aosis-filters .rf-result-item a{font-weight:700;text-decoration:none;color:inherit;font-size:inherit}
.aosis-filters .rf-excerpt{color:inherit;font-size:inherit;margin-top:6px}

/* Result two-column layout: left column shows tag groups, right column shows details */
.aosis-filters .rf-result-grid{display:flex;gap:18px;align-items:stretch}
.aosis-filters .rf-result-tags{width:220px;flex:0 0 220px;display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding-right:16px;border-right:1px solid rgba(0,0,0,0.08);box-sizing:border-box;padding-top:0;padding-bottom:0;justify-content:flex-start}
.aosis-filters .rf-tag-group{padding:0;border-radius:0;background:transparent}
.aosis-filters .rf-tag-item{display:block;margin-bottom:.35rem;color:rgba(0,0,0,0.65);font-size:12px;line-height:1.3}

/* Emphasize the primary/first tag visually (uppercase, green) similar to screenshot */
.aosis-filters .rf-result-tags .rf-tag-group:first-child .rf-tag-item:first-child{
	color:#186fa1; /* theme heading color */
	font-weight:700;
	text-transform:uppercase;
	letter-spacing:0.06em;
	font-size:12px;
	margin-bottom:6px;
}

.aosis-filters .rf-result-main{flex:1;min-width:0;display:flex;flex-direction:column}
.aosis-filters .rf-title{flex:1 1 auto}
.aosis-filters .rf-title a{display:block}
.aosis-filters .rf-result-thumb{flex:0 0 180px;display:flex;align-items:center;justify-content:center}
.aosis-filters .rf-result-thumb img{max-width:160px;height:auto;display:block;border:1px solid rgba(0,0,0,0.06)}

/* Result card styling to resemble screenshot */
.aosis-filters .rf-result-item{padding:18px;border-radius:0;background:#ffffff;border:1px solid rgba(0,0,0,0.06);box-shadow:none}
.aosis-filters .rf-result-main a{font-weight:700;text-decoration:none;color:#186fa1;font-size:1.35rem;display:block;margin:6px 0}
.aosis-filters .rf-result-main a:hover{color:#124f73;text-decoration:underline}
.aosis-filters .rf-meta{font-size:0.8rem;color:rgba(0,0,0,0.55);text-transform:uppercase;margin-bottom:6px}
.aosis-filters .rf-excerpt{display:none}

/* Bottom tags area (remaining tags) */
.aosis-filters .rf-result-bottom-tags{margin-top:auto;padding-top:12px;border-top:1px solid rgba(0,0,0,0.04);display:flex;flex-wrap:wrap;gap:.5rem}
.aosis-filters .rf-bottom-tag{font-size:12px;color:rgba(0,0,0,0.6);background:transparent;padding:.2rem .45rem;border-radius:2px;border:1px solid rgba(0,0,0,0.04)}

@media (max-width:1100px){
	.aosis-filters .rf-result-grid{flex-direction:column}
	.aosis-filters .rf-result-tags{width:100%;flex:0 0 auto}
}

/* No results / loading */
.aosis-filters .rf-no-results,.aosis-filters .rf-loading{color:inherit;padding:.75rem;background:transparent;border:1px dashed currentColor;border-radius:0}

/* Load more */
.rf-load-more-wrap{margin-top:1rem;text-align:center}
.rf-load-more{background:#186fa1;color:#ffffff;border:1px solid #186fa1;padding:.6rem .9rem;border-radius:0;cursor:pointer;font-weight:700}
.rf-load-more:hover{background:#124f73;border-color:#124f73}
.rf-load-more:focus{outline:3px solid rgba(24,111,161,0.18);outline-offset:2px}

/* Responsive */
@media (max-width:899px){
	.aosis-filters{flex-direction:column}
	.aosis-filters .rf-left{width:100%;flex:0 0 100%}
	.aosis-filters .rf-right{width:100%;flex:1 1 100%}
	/* search bar full width on mobile/tablet */
	.aosis-filters .rf-search{display:flex;flex-direction:row;gap:.5rem;margin-bottom:1rem}
	.aosis-filters .rf-search-input{width:100%;box-sizing:border-box}
	.aosis-filters .rf-search-btn{flex:0 0 auto}
}

/* When forced stacked, make left/right full width */
.aosis-filters--stacked .rf-left,
.aosis-filters--stacked .rf-right{width:100% !important;flex:0 0 100% !important}
.aosis-filters--stacked .rf-search{width:100%}

/* Pagination buttons */
.rf-pagination{display:inline-flex;gap:.45rem;align-items:center;flex-wrap:wrap;justify-content:center}
.rf-page-btn{background:transparent;border:1px solid currentColor;padding:.45rem .6rem;border-radius:0;cursor:pointer;font-weight:inherit}
.rf-page-btn.active{background:currentColor;color:inherit;border-color:currentColor}
.rf-page-btn:hover{opacity:.95}


/* legacy: no-op */

/* When the shortcode requests stacked layout, ensure search, filters, results are vertical
	 This forces the filters to sit under the search box even if the theme applies a sidebar layout. */
.aosis-filters--stacked{
	display:block !important;
	gap:0 !important;
}
.aosis-filters--stacked .rf-search{
	width:100% !important;
	margin-bottom:1rem !important;
}
.aosis-filters--stacked .rf-filters{
	width:100% !important;
	flex:0 0 100% !important;
	margin-bottom:1rem !important;
	float:none !important;
}
.aosis-filters--stacked .rf-results{
	width:100% !important;
	flex:1 1 100% !important;
	float:none !important;
}
.aosis-filters--stacked .rf-filters,
.aosis-filters--stacked .rf-results{
	margin:0 !important;
	box-sizing:border-box;
}

/* Make sure group panels stretch the full width when stacked */
.aosis-filters--stacked .rf-group{width:100%}

/* Force square corners for any plugin UI elements (override theme rules) */
.aosis-filters, .aosis-filters * {
	border-radius: 0 !important;
}

