.htest-tutor-breadcrumbs {
	max-width: 1100px; margin: 0 auto 14px; font-size: 13px; color: var(--htest-muted, #6b7280);
}
.htest-tutor-breadcrumbs a { color: var(--htest-muted, #6b7280); text-decoration: none; }
.htest-tutor-breadcrumbs a:hover { color: var(--htest-accent, #e8611c); text-decoration: underline; }
.htest-tutor-breadcrumbs span { margin: 0 4px; }

.htest-tdir { display: grid; grid-template-columns: 300px 1fr; gap: 30px; max-width: 1100px; margin: 0 auto; font-family: inherit; color: var(--htest-text, #1f2937); }
@media (max-width: 800px) {
	.htest-tdir { grid-template-columns: 1fr; }
	.htest-tdir-filters { position: static; cursor: default; }
	.htest-tdir-filters-header { cursor: pointer; margin-bottom: 0; }
	.htest-tdir-filters-chevron { margin-left: auto; display: flex; transition: transform .15s ease; color: var(--htest-muted, #6b7280); }
	.htest-tdir-filters-body { overflow: hidden; max-height: 800px; margin-top: 16px; transition: max-height .2s ease, margin-top .2s ease; }
	.htest-tdir-filters.is-collapsed .htest-tdir-filters-body { max-height: 0; margin-top: 0; }
	.htest-tdir-filters.is-collapsed .htest-tdir-filters-chevron { transform: rotate(-90deg); }
}
.htest-tdir-results-col { min-width: 0; }

.htest-tdir-filters {
	background: #fff;
	border: 1px solid var(--htest-border, #eaeaea);
	border-radius: var(--htest-radius, 14px);
	padding: 20px;
	align-self: start;
	position: sticky;
	top: 20px;
	position: relative;
	overflow: hidden;
}
.htest-tdir-filters::before {
	content: ''; position: absolute; top: 0; left: 0; right: 0; height: 5px;
	background: linear-gradient(90deg, #f0a24e, var(--htest-accent, #e8611c), #f0a24e);
}
.htest-tdir-filters-header { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; }
.htest-tdir-filters-icon {
	display: flex; align-items: center; justify-content: center; flex-shrink: 0; width: 40px; height: 40px;
	border-radius: 10px; color: #fff; background: linear-gradient(135deg, #f0a24e, var(--htest-accent, #e8611c));
}
.htest-tdir-filters-title { font-size: 16px; font-weight: 700; }
.htest-tdir-field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.htest-tdir-field { min-width: 0; }
.htest-tdir-filters label { display: block; font-size: 13px; font-weight: 600; margin: 0 0 6px; }
.htest-tdir-field-row + .htest-tdir-field-row { margin-top: 14px; }
.htest-tdir-criteria > .htest-tdir-field { margin-bottom: 14px; }
.htest-tdir-filters input, .htest-tdir-filters select {
	width: 100%; padding: 9px 12px; border: 1px solid #e0d8d3; border-radius: 8px; font-size: 14px; box-sizing: border-box;
}
.htest-tdir-apply {
	width: 100%; margin-top: 18px; padding: 12px; border: none; border-radius: 8px;
	background: linear-gradient(135deg, #f0a24e, var(--htest-accent, #e8611c)); color: #fff; font-weight: 700; cursor: pointer;
	box-shadow: 0 4px 12px rgba(232,97,28,.25);
}
.htest-tdir-apply:hover { box-shadow: 0 6px 16px rgba(232,97,28,.35); }

.htest-tdir-field-wrap { position: relative; }
.htest-tdir-autocomplete {
	position: absolute; left: 0; right: 0; top: 100%; margin-top: 2px; background: #fff;
	border: 1px solid var(--htest-border, #eaeaea); border-radius: 8px; box-shadow: 0 6px 18px rgba(0,0,0,.1);
	z-index: 20; max-height: 220px; overflow-y: auto;
}
.htest-tdir-autocomplete-item { padding: 8px 12px; font-size: 13px; cursor: pointer; }
.htest-tdir-autocomplete-item:hover { background: var(--htest-bg-soft, #faf7f5); }

.htest-tdir-criteria-toggle {
	width: 100%; margin-top: 14px; padding: 11px 14px; border: none; border-radius: 10px;
	background: var(--htest-bg-soft, #faf3ec); color: var(--htest-accent-dark, #c94f11); font-size: 13px; font-weight: 700;
	cursor: pointer; display: flex; align-items: center; gap: 8px; text-align: left;
	transition: background .15s ease;
}
.htest-tdir-criteria-toggle:hover { background: #f5e6da; }
.htest-tdir-criteria-icon { display: flex; flex-shrink: 0; }
.htest-tdir-criteria-chevron { display: flex; margin-left: auto; flex-shrink: 0; transition: transform .15s ease; }
.htest-tdir-criteria-toggle.is-open .htest-tdir-criteria-chevron { transform: rotate(180deg); }
.htest-tdir-criteria { border-top: 1px solid var(--htest-border, #eaeaea); margin-top: 14px; padding-top: 10px; }
.htest-tdir-checkbox-label {
	display: flex !important; align-items: center; gap: 10px; font-size: 13px; font-weight: 500 !important;
	margin: 0 0 8px !important; padding: 8px 10px; border-radius: 8px; cursor: pointer; transition: background .15s ease;
}
.htest-tdir-checkbox-label:hover { background: var(--htest-bg-soft, #faf7f5); }
.htest-tdir-checkbox-label input {
	width: 18px; height: 18px; margin: 0; padding: 0; flex-shrink: 0; accent-color: var(--htest-accent, #e8611c); cursor: pointer;
}
.htest-tdir-checkbox-label span { line-height: 18px; }

.htest-tdir-results-header { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; margin-bottom: 14px; }
.htest-tdir-count { font-size: 14px; color: var(--htest-muted, #6b7280); }
.htest-tdir-sort {
	-webkit-appearance: none; -moz-appearance: none; appearance: none;
	padding: 7px 32px 7px 12px; border: 1px solid var(--htest-border, #eaeaea); border-radius: 999px;
	font-size: 12.5px; font-weight: 600; color: var(--htest-accent-dark, #c94f11); background-color: #fff;
	background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23c94f11' stroke-width='1.8'%3E%3Cpath d='M5 7l5 5 5-5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat; background-position: right 10px center; background-size: 12px;
}

.htest-tdir-results { min-height: 200px; }

.htest-tdir-card {
	display: flex; gap: 20px; background: #fff; border: 1px solid #e2dcd8;
	border-radius: var(--htest-radius, 14px); padding: 20px; margin-bottom: 18px; align-items: center;
	box-shadow: 0 2px 8px rgba(0,0,0,.05);
	transition: box-shadow .15s ease, transform .15s ease;
}
.htest-tdir-card:hover { box-shadow: 0 6px 20px rgba(0,0,0,.09); transform: translateY(-2px); }
.htest-tdir-photo { width: 88px; height: 88px; border-radius: 50%; object-fit: cover; flex-shrink: 0; background: #f0f0f0; }
.htest-tdir-info { flex: 1; min-width: 0; }
.htest-tdir-name { font-size: 17px; font-weight: 700; margin: 0 0 4px; color: var(--htest-accent-dark, #c94f11); }
.htest-tdir-tagline { font-size: 13px; color: var(--htest-muted, #6b7280); margin: 0 0 8px; }
.htest-tdir-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 4px; }
.htest-tdir-tag { background: var(--htest-bg-soft, #faf7f5); color: var(--htest-accent-dark, #c94f11); padding: 4px 10px; border-radius: 7px; font-size: 12px; line-height: 1.35; }
.htest-tdir-meta { font-size: 12px; color: var(--htest-muted, #6b7280); margin-top: 6px; }
.htest-tdir-price { text-align: right; flex-shrink: 0; }
.htest-tdir-price .from-label { font-size: 11px; color: var(--htest-muted, #6b7280); display: block; }
.htest-tdir-price .amount { font-size: 20px; font-weight: 700; color: var(--htest-accent, #e8611c); }
.htest-tdir-price .unit { font-size: 12px; color: var(--htest-muted, #6b7280); display: block; }
.htest-tdir-btn {
	display: inline-block; margin-top: 8px; padding: 8px 16px; border-radius: 7px; font-size: 13px; font-weight: 600;
	background: var(--htest-accent, #e8611c); color: #fff !important; text-decoration: none !important;
}
.htest-tdir-btn:hover { background: var(--htest-accent-dark, #c94f11); }

.htest-tdir-card.htest-tdir-featured { border-color: var(--htest-accent, #e8611c); background: linear-gradient(0deg, #fff, var(--htest-bg-soft, #faf7f5)); }
.htest-tdir-badges { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 6px; }
.htest-tdir-featured-badge { display: inline-block; background: var(--htest-accent, #e8611c); color: #fff; font-size: 11px; font-weight: 700; padding: 3px 10px; border-radius: 999px; }
.htest-tdir-verified-badge { display: inline-block; background: #16a34a; color: #fff; font-size: 11px; font-weight: 700; padding: 3px 10px; border-radius: 999px; }
.htest-tdir-trial-badge { display: inline-block; background: #fef3c7; color: #92400e; font-size: 11px; font-weight: 700; padding: 3px 10px; border-radius: 999px; }
.htest-tdir-phone-badge { display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; background: var(--htest-accent, #e8611c); color: #fff; border-radius: 50%; }
.htest-tdir-level-tags { margin-top: 2px; }
.htest-tdir-level-tag { background: #f3f4f6; color: var(--htest-muted, #6b7280); padding: 2px 9px; border-radius: 6px; font-size: 11px; }
.htest-tdir-pagination { display: flex; justify-content: center; gap: 10px; margin-top: 20px; align-items: center; }
.htest-tdir-pagination button { padding: 8px 16px; border: 1px solid var(--htest-border, #eaeaea); border-radius: 7px; background: #fff; cursor: pointer; }
.htest-tdir-pagination button:disabled { opacity: .4; cursor: default; }

/* Καθαρό full-width layout — απόκρυψη widgets στις δικές μας σελίδες (Αναζήτηση, Πρόσφατα Άρθρα κλπ.) */
body.htest-clean-page .widget {
	display: none !important;
}

.htest-tdir-mobile { display: none; }

@media (max-width: 560px) {
	.htest-tdir-card { flex-direction: column; align-items: stretch; padding: 18px; margin-bottom: 16px; }
	.htest-tdir-card > .htest-tdir-photo,
	.htest-tdir-card > .htest-tdir-info,
	.htest-tdir-card > .htest-tdir-price { display: none; }
	.htest-tdir-mobile { display: block; }
	.htest-tdir-filters { position: static; }

	.htest-tdir-m-featured-pill {
		display: inline-block; background: #faeeda; color: #854f0b; font-size: 11px; font-weight: 600;
		padding: 3px 10px; border-radius: 999px; margin-bottom: 10px;
	}
	.htest-tdir-m-main { display: flex; gap: 14px; }
	.htest-tdir-m-photo-wrap { position: relative; flex-shrink: 0; }
	.htest-tdir-m-photo { width: 76px; height: 76px; border-radius: 50%; object-fit: cover; background: #f0f0f0; display: block; }
	div.htest-tdir-m-photo { background: #f0f0f0; }
	.htest-tdir-m-verified-dot {
		position: absolute; bottom: -2px; right: -2px; width: 22px; height: 22px; border-radius: 50%;
		background: #3b6d11; border: 2px solid #fff; color: #fff; display: flex; align-items: center; justify-content: center;
	}
	.htest-tdir-m-info { flex: 1; min-width: 0; padding-top: 2px; }
	.htest-tdir-m-name { font-size: 16px; font-weight: 700; margin: 0 0 4px; color: var(--htest-text, #1f2937); }
	.htest-tdir-m-line { font-size: 12.5px; color: var(--htest-muted, #6b7280); margin: 0; }
	.htest-tdir-m-extra { display: flex; align-items: center; gap: 10px; margin-top: 12px; flex-wrap: wrap; }
	.htest-tdir-m-trial { background: #faeeda; color: #854f0b; font-size: 11px; font-weight: 600; padding: 3px 9px; border-radius: 999px; }
	.htest-tdir-m-phone { display: inline-flex; align-items: center; gap: 4px; font-size: 11px; font-weight: 600; color: var(--htest-accent-dark, #c94f11); }
	.htest-tdir-m-bottom { display: flex; align-items: center; justify-content: space-between; margin-top: 14px; }
	.htest-tdir-m-price { display: flex; flex-direction: column; }
	.htest-tdir-m-from { font-size: 10px; color: var(--htest-muted, #6b7280); }
	.htest-tdir-m-amount { font-size: 19px; font-weight: 700; color: var(--htest-accent-dark, #c94f11); }
	.htest-tdir-m-unit { font-size: 11px; font-weight: 400; color: var(--htest-muted, #6b7280); }
	.htest-tdir-m-btn {
		border: none; background: var(--htest-accent, #e8611c); color: #fff !important; text-decoration: none !important;
		border-radius: 8px; padding: 9px 20px; font-size: 13px; font-weight: 600;
	}
	.htest-tdir-m-btn:hover { background: var(--htest-accent-dark, #c94f11); }
}
