/* TopList AI – Frontend */
.tlai-toplist { margin: 2rem 0; }

.tlai-disclosure, .tlai-methodik {
	font-size: .8rem; color: #6b7280; margin: .5rem 0;
}

.tlai-items { list-style: none; margin: 0; padding: 0; counter-reset: none; }

.tlai-item {
	display: grid; grid-template-columns: 56px 1fr auto; gap: 16px;
	align-items: center; background: #fff; border: 1px solid #e5e7eb;
	border-radius: 12px; padding: 20px; margin-bottom: 14px;
	box-shadow: 0 1px 3px rgba(0,0,0,.05);
}
.tlai-item.tlai-winner { border: 2px solid #b45309; box-shadow: 0 4px 14px rgba(180,83,9,.15); }

.tlai-rank {
	width: 44px; height: 44px; border-radius: 50%;
	background: #f3f4f6; color: #111827; font-weight: 800; font-size: 1.15rem;
	display: flex; align-items: center; justify-content: center;
}
.tlai-winner .tlai-rank { background: #b45309; color: #fff; }

.tlai-name { margin: 0 0 .25rem; font-size: 1.15rem; display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.tlai-badge {
	background: #b45309; color: #fff; font-size: .7rem; font-weight: 700;
	padding: 2px 8px; border-radius: 999px; text-transform: uppercase; letter-spacing: .03em;
}

.tlai-score { display: flex; align-items: center; gap: 6px; margin-bottom: .35rem; }
.tlai-stars {
	position: relative; color: #d1d5db; font-size: 1rem; line-height: 1;
	background: linear-gradient(90deg, #f59e0b var(--tlai-fill, 0%), #d1d5db var(--tlai-fill, 0%));
	-webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
}
.tlai-score-num { font-weight: 700; font-size: .9rem; }

.tlai-desc { margin: 0 0 .4rem; color: #374151; }

.tlai-pros { list-style: none; margin: 0 0 .4rem; padding: 0; display: flex; flex-wrap: wrap; gap: 6px 14px; }
.tlai-pros li { font-size: .85rem; color: #065f46; }
.tlai-pros li::before { content: "✓ "; font-weight: 700; }

.tlai-sources { font-size: .75rem; color: #9ca3af; margin: 0; }

.tlai-cta { text-align: center; }
.tlai-button {
	display: inline-block; background: #047857; color: #fff !important;
	font-weight: 700; padding: 12px 22px; border-radius: 8px;
	text-decoration: none; white-space: nowrap; transition: background .15s;
}
.tlai-button:hover { background: #065f46; }
.tlai-ad-hint { display: block; font-size: .65rem; color: #9ca3af; margin-top: 4px; text-transform: uppercase; }

@media (max-width: 640px) {
	.tlai-item { grid-template-columns: 44px 1fr; }
	.tlai-cta { grid-column: 1 / -1; }
	.tlai-button { display: block; }
}

/* ---------- v1.1: Logos, Pro/Contra, Preis, Bewertungsbasis ---------- */
.tlai-head { display: flex; align-items: center; gap: 12px; margin-bottom: .25rem; }
.tlai-logo {
	width: 56px; height: 56px; object-fit: contain; flex: 0 0 56px;
	border: 1px solid #e5e7eb; border-radius: 10px; background: #fff; padding: 6px;
}
.tlai-head .tlai-name { margin: 0; }

.tlai-review-count { font-size: .85rem; color: #6b7280; }

.tlai-proscons { display: grid; grid-template-columns: 1fr 1fr; gap: 4px 20px; margin: 0 0 .4rem; }
.tlai-cons { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; }
.tlai-cons li { font-size: .85rem; color: #991b1b; }
.tlai-cons li::before { content: "✕ "; font-weight: 700; }
.tlai-pros { flex-direction: column; gap: 4px; }
@media (max-width: 640px) { .tlai-proscons { grid-template-columns: 1fr; } }

.tlai-price { display: block; font-weight: 700; font-size: .95rem; margin-bottom: 8px; color: #111827; }

/* ---------- v1.1: Top-3-Vergleichstabelle ---------- */
.tlai-compare-wrap { overflow-x: auto; margin: 1rem 0 1.6rem; -webkit-overflow-scrolling: touch; }
.tlai-compare {
	width: 100%; min-width: 560px; border-collapse: separate; border-spacing: 0;
	background: #fff; border: 1px solid #e5e7eb; border-radius: 12px; overflow: hidden;
	font-size: .92rem;
}
.tlai-compare th, .tlai-compare td {
	padding: 12px 14px; text-align: center; border-bottom: 1px solid #f3f4f6; vertical-align: middle;
}
.tlai-compare tbody tr:last-child th, .tlai-compare tbody tr:last-child td { border-bottom: none; }
.tlai-compare tbody th[scope="row"], .tlai-compare-label {
	text-align: left; color: #6b7280; font-weight: 600; font-size: .8rem;
	text-transform: uppercase; letter-spacing: .03em; width: 110px; background: #fafafa;
}
.tlai-compare thead th { background: #fafafa; border-bottom: 2px solid #e5e7eb; }
.tlai-compare thead th.tlai-compare-winner { background: #fffbeb; }
.tlai-compare-logo { display: block; margin: 0 auto 6px; width: 72px; height: 40px; object-fit: contain; }
.tlai-compare-name { display: block; font-size: .95rem; color: #111827; }
.tlai-compare thead .tlai-badge { display: inline-block; margin-bottom: 6px; }
.tlai-compare-reviews { display: block; font-weight: 400; font-size: .75rem; color: #9ca3af; }
.tlai-compare-cta td { padding-top: 14px; padding-bottom: 16px; }
.tlai-compare .tlai-button { padding: 9px 16px; font-size: .85rem; }
.tlai-compare .tlai-ad-hint { margin-top: 3px; }
