/**
 * Jet Taxonomy Search - Styles
 */

.jet-tax-search-wrapper {
	position: relative;
	margin-bottom: 1.5rem;
}

.jet-tax-search-input {
	width: 100%;
	padding: 0.75rem 1rem;
	border: 1px solid #ddd;
	border-radius: 4px;
	font-size: 1rem;
	line-height: 1.5;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.jet-tax-search-input:focus {
	outline: none;
	border-color: #007cba;
	box-shadow: 0 0 0 1px #007cba;
}

.jet-tax-search-input::placeholder {
	color: #999;
}

.jet-tax-search-loading::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 20px;
	height: 20px;
	margin: -10px 0 0 -10px;
	border: 2px solid #f3f3f3;
	border-top: 2px solid #007cba;
	border-radius: 50%;
	animation: spin 0.6s linear infinite;
}

.jet-tax-pagination {
    margin: 16px 0 0;
    text-align: center;
}
.jet-tax-pagination .jet-tax-pages {
    list-style: none;
    padding: 0;
    margin: 0;
    display: inline-flex;
    gap: 6px;
}
.jet-tax-pagination .jet-tax-pages li a {
    display: inline-block;
    padding: 6px 10px;
    border: 1px solid #ddd;
    border-radius: 4px;
    text-decoration: none;
    color: #222;
}
.jet-tax-pagination .jet-tax-pages li.is-active a,
.jet-tax-pagination .jet-tax-pages li a:hover {
    background: #007cba;
    border-color: #007cba;
    color: #fff;
}

/* Ensure 3 columns for server-rendered results on desktop 
.jet-listing-grid__items[data-listing-source="query"].grid-col-desk-3 {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

/* Tablet and mobile fallbacks 
@media (max-width: 1024px) {
    .jet-listing-grid__items[data-listing-source="query"].grid-col-tablet-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .jet-listing-grid__items[data-listing-source="query"].grid-col-mobile-1 {
        grid-template-columns: 1fr;
    }
}
*/

.jet-tax-search__fallback {
	list-style: none;
	padding: 0;
	margin: 0;
}

.jet-tax-search__fallback li {
	margin-bottom: 0.5rem;
	padding: 0.5rem 0;
	border-bottom: 1px solid #eee;
}

.jet-tax-search__fallback li:last-child {
	border-bottom: none;
}

.jet-tax-search__fallback a {
	text-decoration: none;
	color: #0073aa;
	font-size: 1rem;
	transition: color 0.2s ease;
}

.jet-tax-search__fallback a:hover {
	color: #005177;
}

.jet-tax-pagination { display: flex; justify-content: center; margin-top: 20px; }
.jet-tax-pagination .jet-tax-pages { list-style: none; display: inline-flex; gap: 6px; padding: 0; margin: 0; }
.jet-tax-pagination .jet-tax-pages li { display: inline-flex; align-items: center; }
.jet-tax-pagination .jet-tax-pages li a,
.jet-tax-pagination .jet-tax-pages li span { display: inline-flex; align-items: center; justify-content: center; padding: 6px 10px; border: 1px solid #b5bbbe; border-radius: 4px; line-height: 1; height: 38px; width: 38px; box-sizing: border-box; font-weight: 700;}
.jet-tax-pagination .jet-tax-pages li a { text-decoration: none; background: #ffffff; color: #b5bbbe; }
.jet-tax-pagination .jet-tax-pages li.is-active a, .jet-tax-pagination .jet-tax-pages li a:hover { background: #000; border-color: #000; color: #98FF3B; }
.jet-tax-pagination .jet-tax-pages li.disabled span { background: #ffffff; color: #b5bbbe; }
.jet-tax-pagination .jet-tax-ellipsis span { padding: 6px 8px; color: #b5bbbe; }

.jet-tax-loading { position: relative; }
.jet-tax-loading::after { content: ''; position: absolute; inset: 0; background: rgba(255,255,255,0.6); z-index: 5; }
.jet-tax-loading::before { content: ''; position: absolute; top: 50%; left: 50%; width: 28px; height: 28px; margin: -14px 0 0 -14px; border: 3px solid #000; border-top-color: transparent; border-radius: 50%; animation: jet-tax-spin 0.9s linear infinite; z-index: 6; }
@keyframes jet-tax-spin { to { transform: rotate(360deg);} }

.filtered-grid_item{
    display: flex;
    flex-direction: column;
    padding: 20px;
    border: 1px dashed #E02825;
    border-radius: 20px;
}

.filtered-listing-grid-img img {
    height: 200px !important;
    object-fit: contain;
    background: #ffffff;
    padding: 20px;
}

.filtered-grid_item:hover{
    background-color: #E02825;
}

.filtered-grid_item:hover .jet-listing-dynamic-field__content a {
    color: #ffffff !important;
}

.filtered-grid_item:hover .jet-listing-dynamic-field__link a {color: #D9FF42 !important;}

.filtered-grid_item:hover .filtered-listing-grid-img {
    border-radius: 16px;
    overflow: hidden;
}
.filtered-grid_item:hover .filtered-listing-grid-img img {
    border-radius: 16px;
}

.filtered-grid_item:hover .jet-listing-dynamic-field__link a::after{
    background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23D9FF42' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><line x1='5' y1='12' x2='19' y2='12'/><polyline points='12 5 19 12 12 19'/></svg>") no-repeat center center / 14px 14px;
}

.filtered-listing-grid-img{
    height: 200px;
    object-fit: contain;
    justify-content: center;
    background: #fff;
}

.jet-listing-dynamic-field__content a{
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #2C2E30 !important;
    line-height: 45px !important;
}

.jet-listing-dynamic-field__link a{
    color: #1a489d; 
}
.jet-listing-dynamic-field__link a{
    position: relative;
    display: inline-flex;
    align-items: center;
}
.jet-listing-dynamic-field__link a::after{
    content: '';
    display: inline-block;
    width: 14px;
    height: 14px;
    margin-left: 6px;
    background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%231a489d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><line x1='5' y1='12' x2='19' y2='12'/><polyline points='12 5 19 12 12 19'/></svg>") no-repeat center center / 14px 14px;
}
.jet-listing-dynamic-field__link a:hover::after{
    transform: translateX(2px);
    transition: transform .15s ease-in-out;
}
.jet-listing-dynamic-field__inline-wrap h2 {
    font-size: 18px;
    font-weight: 700;
    line-height: 45px !important;
}

.jet-tax-search-error {
	color: #d63638;
	padding: 1rem;
	background: #fff5f5;
	border-left: 3px solid #d63638;
}

@keyframes spin {
	0% { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
}

