/* KaisBox AI Database — Frontend Styles */

.kbai-wrap { max-width: 1200px; margin: 0 auto; padding: 24px 20px 60px; }

/* Breadcrumb */
.kbai-breadcrumb { font-size: .82rem; color: #888; margin-bottom: 20px; }
.kbai-breadcrumb a { color: #555; text-decoration: none; }
.kbai-breadcrumb a:hover { color: #000; }

/* Badges */
.kbai-badge { display: inline-block; font-size: .7rem; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; padding: 3px 9px; border-radius: 4px; }
.kbai-badge-type    { background: #e8f4ff; color: #1a6bb0; }
.kbai-badge-license { background: #f0faf0; color: #2a7a2a; }
.kbai-badge-api     { background: #fff3e0; color: #c67a00; }
.kbai-badge-pricing { background: #f5f0ff; color: #6a3db8; }

/* ── Single Model ─────────────────────────────────────────────────────────── */
.kbai-model-layout { display: grid; grid-template-columns: 1fr 280px; gap: 32px; align-items: start; }

.kbai-model-header { display: flex; align-items: flex-start; gap: 20px; padding: 28px; background: #fff; border: 1px solid #e5e5e5; border-radius: 12px; margin-bottom: 24px; box-shadow: 0 2px 8px rgba(0,0,0,.06); }
.kbai-model-logo img { width: 72px; height: 72px; border-radius: 12px; object-fit: contain; border: 1px solid #eee; }
.kbai-model-title-wrap { flex: 1; }
.kbai-model-name { font-size: 2rem; font-weight: 800; margin: 0 0 4px; line-height: 1.2; }
.kbai-model-company { font-size: .88rem; color: #666; margin-bottom: 10px; }
.kbai-model-company a { color: #1a6bb0; text-decoration: none; }
.kbai-model-badges { display: flex; flex-wrap: wrap; gap: 6px; }

.kbai-visit-btn { display: inline-block; background: #1a6bb0; color: #fff; font-size: .85rem; font-weight: 600; padding: 10px 18px; border-radius: 8px; text-decoration: none; white-space: nowrap; transition: background .2s; }
.kbai-visit-btn:hover { background: #145a96; color: #fff; }

/* Tabs */
.kbai-model-tabs { display: flex; gap: 4px; border-bottom: 2px solid #e5e5e5; margin-bottom: 24px; }
.kbai-tab { display: inline-block; padding: 10px 18px; font-size: .88rem; font-weight: 600; color: #555; text-decoration: none; border-radius: 6px 6px 0 0; transition: background .15s, color .15s; }
.kbai-tab:hover { background: #f5f5f5; color: #000; }
.kbai-tab.active { background: #fff; color: #1a6bb0; border: 2px solid #e5e5e5; border-bottom: 2px solid #fff; margin-bottom: -2px; }

/* Description */
.kbai-model-description { font-size: 1rem; line-height: 1.8; color: #333; margin-bottom: 28px; }
.kbai-section-title { font-size: 1.15rem; font-weight: 700; margin: 0 0 16px; padding-bottom: 8px; border-bottom: 2px solid #f0f0f0; }

/* Data card */
.kbai-data-card { background: #fafafa; border: 1px solid #e5e5e5; border-radius: 10px; padding: 20px; margin-bottom: 24px; }
.kbai-data-grid { display: flex; flex-direction: column; gap: 0; }
.kbai-data-row { display: flex; justify-content: space-between; align-items: center; padding: 10px 0; border-bottom: 1px solid #eee; }
.kbai-data-row:last-child { border-bottom: none; }
.kbai-data-label { font-size: .85rem; font-weight: 600; color: #555; }
.kbai-data-value { font-size: .9rem; color: #222; font-weight: 500; }

/* Capabilities */
.kbai-capabilities-section { margin-bottom: 28px; }
.kbai-capabilities-grid { display: flex; flex-wrap: wrap; gap: 8px; }
.kbai-capability-tag { display: inline-block; background: #f0f4ff; color: #3d5afe; font-size: .8rem; font-weight: 600; padding: 6px 14px; border-radius: 20px; text-decoration: none; transition: background .2s; }
.kbai-capability-tag:hover { background: #3d5afe; color: #fff; }

/* Compare suggestions */
.kbai-compare-section { margin-bottom: 28px; }
.kbai-compare-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.kbai-compare-card { display: flex; align-items: center; justify-content: space-between; padding: 14px 16px; background: #fff; border: 1px solid #e5e5e5; border-radius: 8px; text-decoration: none; transition: border-color .2s, box-shadow .2s; }
.kbai-compare-card:hover { border-color: #1a6bb0; box-shadow: 0 2px 12px rgba(26,107,176,.12); }
.kbai-compare-label { font-size: .72rem; color: #888; display: block; }
.kbai-compare-model { font-size: .92rem; font-weight: 700; color: #222; }
.kbai-compare-arrow { color: #1a6bb0; font-size: 1.1rem; }

/* Sidebar */
.kbai-model-sidebar { position: sticky; top: 80px; }
.kbai-sidebar-card { background: #fff; border: 1px solid #e5e5e5; border-radius: 10px; padding: 18px; margin-bottom: 16px; }
.kbai-sidebar-card h3 { font-size: .88rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: #888; margin: 0 0 12px; }
.kbai-sidebar-link { display: block; font-size: .88rem; color: #1a6bb0; text-decoration: none; padding: 6px 0; border-bottom: 1px solid #f0f0f0; transition: color .15s; }
.kbai-sidebar-link:last-child { border-bottom: none; }
.kbai-sidebar-link:hover { color: #145a96; }
.kbai-related-item { display: flex; align-items: center; gap: 10px; text-decoration: none; color: #222; padding: 8px 0; border-bottom: 1px solid #f0f0f0; font-size: .88rem; font-weight: 500; transition: color .15s; }
.kbai-related-item:last-child { border-bottom: none; }
.kbai-related-item img { width: 32px; height: 32px; border-radius: 6px; object-fit: cover; }
.kbai-related-item:hover { color: #1a6bb0; }

/* ── Archive ──────────────────────────────────────────────────────────────── */
.kbai-archive-header { margin-bottom: 28px; }
.kbai-archive-title { font-size: 2rem; font-weight: 800; margin: 0 0 8px; }
.kbai-archive-desc { color: #555; font-size: 1rem; margin-bottom: 16px; }

.kbai-filter-pills { display: flex; flex-wrap: wrap; gap: 8px; }
.kbai-pill { display: inline-block; padding: 6px 14px; background: #f0f0f0; color: #444; font-size: .82rem; font-weight: 600; border-radius: 20px; text-decoration: none; transition: background .15s, color .15s; }
.kbai-pill:hover, .kbai-pill.active { background: #1a6bb0; color: #fff; }

.kbai-archive-layout { display: grid; grid-template-columns: 1fr 240px; gap: 32px; align-items: start; }

.kbai-model-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 18px; }

.kbai-model-card { background: #fff; border: 1px solid #e5e5e5; border-radius: 12px; overflow: hidden; transition: box-shadow .2s, transform .2s; }
.kbai-model-card:hover { box-shadow: 0 6px 24px rgba(0,0,0,.1); transform: translateY(-2px); }
.kbai-card-link { display: block; text-decoration: none; color: inherit; }
.kbai-card-thumb { height: 140px; overflow: hidden; background: #f5f5f5; display: flex; align-items: center; justify-content: center; }
.kbai-card-thumb img { width: 100%; height: 100%; object-fit: cover; }
.kbai-card-body { padding: 16px; }
.kbai-card-title { font-size: 1rem; font-weight: 700; margin: 0 0 4px; line-height: 1.3; color: #111; }
.kbai-card-company { font-size: .78rem; color: #888; margin-bottom: 8px; }
.kbai-card-excerpt { font-size: .83rem; color: #555; line-height: 1.55; margin-bottom: 10px; }
.kbai-card-meta { display: flex; flex-wrap: wrap; gap: 5px; margin-bottom: 8px; }
.kbai-card-caps { display: flex; flex-wrap: wrap; gap: 4px; }
.kbai-cap-dot { font-size: .7rem; color: #3d5afe; background: #f0f4ff; padding: 2px 8px; border-radius: 10px; }
.kbai-card-footer { display: flex; gap: 8px; padding: 12px 16px; border-top: 1px solid #f0f0f0; }
.kbai-card-view-btn { flex: 1; text-align: center; background: #1a6bb0; color: #fff; font-size: .8rem; font-weight: 600; padding: 7px; border-radius: 6px; text-decoration: none; transition: background .15s; }
.kbai-card-view-btn:hover { background: #145a96; }
.kbai-card-compare-btn { flex: 1; text-align: center; background: #f0f0f0; color: #444; font-size: .8rem; font-weight: 600; padding: 7px; border-radius: 6px; text-decoration: none; transition: background .15s; }
.kbai-card-compare-btn:hover { background: #e0e0e0; }

/* Archive sidebar filters */
.kbai-archive-sidebar { position: sticky; top: 80px; }
.kbai-filter-card { background: #fff; border: 1px solid #e5e5e5; border-radius: 10px; padding: 18px; margin-bottom: 16px; }
.kbai-filter-title { font-size: .82rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: #888; margin: 0 0 10px; }
.kbai-filter-link { display: flex; justify-content: space-between; align-items: center; font-size: .88rem; color: #333; text-decoration: none; padding: 7px 0; border-bottom: 1px solid #f5f5f5; transition: color .15s; }
.kbai-filter-link:last-child { border-bottom: none; }
.kbai-filter-link:hover, .kbai-filter-link.active { color: #1a6bb0; }
.kbai-count { font-size: .76rem; background: #f0f0f0; color: #666; padding: 2px 7px; border-radius: 10px; }

/* Pagination */
.kbai-pagination { margin-top: 32px; text-align: center; }
.kbai-pagination .nav-links { display: flex; justify-content: center; gap: 8px; }
.kbai-pagination a, .kbai-pagination span { display: inline-block; padding: 8px 14px; border: 1px solid #e0e0e0; border-radius: 6px; font-size: .88rem; text-decoration: none; color: #333; transition: all .15s; }
.kbai-pagination a:hover { background: #1a6bb0; color: #fff; border-color: #1a6bb0; }
.kbai-pagination .current { background: #1a6bb0; color: #fff; border-color: #1a6bb0; }

/* ── Comparison ───────────────────────────────────────────────────────────── */
.kbai-compare-header { text-align: center; margin-bottom: 32px; }
.kbai-compare-title { font-size: 2.2rem; font-weight: 800; margin: 0 0 6px; }
.kbai-vs { display: inline-block; background: #ff4444; color: #fff; font-size: 1.2rem; padding: 4px 14px; border-radius: 6px; margin: 0 10px; }
.kbai-compare-subtitle { color: #666; font-size: 1rem; }

.kbai-compare-strip { display: grid; grid-template-columns: 1fr auto 1fr; gap: 24px; align-items: center; background: #fff; border: 1px solid #e5e5e5; border-radius: 14px; padding: 28px; margin-bottom: 28px; box-shadow: 0 2px 12px rgba(0,0,0,.06); }
.kbai-compare-col { text-align: center; }
.kbai-compare-col img { width: 72px; height: 72px; border-radius: 12px; object-fit: contain; border: 1px solid #eee; margin-bottom: 10px; }
.kbai-compare-col h2 { font-size: 1.3rem; font-weight: 800; margin: 0 0 4px; }
.kbai-compare-col h2 a { color: #111; text-decoration: none; }
.kbai-compare-col h2 a:hover { color: #1a6bb0; }
.kbai-compare-company { font-size: .85rem; color: #888; }
.kbai-compare-vs-badge { font-size: 1.5rem; font-weight: 900; color: #ff4444; background: #fff5f5; padding: 12px 18px; border-radius: 50%; border: 3px solid #ff4444; }

.kbai-compare-intro { background: #f8faff; border-left: 4px solid #1a6bb0; padding: 18px 22px; border-radius: 0 8px 8px 0; margin-bottom: 28px; font-size: .98rem; color: #333; line-height: 1.7; }

.kbai-compare-table-wrap { margin-bottom: 32px; overflow-x: auto; }
.kbai-compare-table { width: 100%; border-collapse: collapse; background: #fff; border: 1px solid #e5e5e5; border-radius: 10px; overflow: hidden; }
.kbai-compare-table thead { background: #f5f8ff; }
.kbai-compare-table th { font-size: .85rem; font-weight: 700; text-align: left; padding: 14px 18px; color: #444; border-bottom: 2px solid #e5e5e5; }
.kbai-compare-table td { padding: 13px 18px; font-size: .9rem; border-bottom: 1px solid #f0f0f0; }
.kbai-compare-table tr:last-child td { border-bottom: none; }
.kbai-spec-label { font-weight: 600; color: #555; background: #fafafa; width: 160px; }

.kbai-pros-cons-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-bottom: 28px; }
.kbai-pros-cons-col { background: #fff; border: 1px solid #e5e5e5; border-radius: 12px; padding: 22px; }
.kbai-pros h3, .kbai-cons h3 { font-size: .88rem; font-weight: 700; margin: 0 0 10px; }
.kbai-pros ul, .kbai-cons ul { padding-left: 18px; margin: 0 0 16px; }
.kbai-pros li, .kbai-cons li { font-size: .88rem; color: #333; margin-bottom: 6px; line-height: 1.5; }

.kbai-verdict-box { background: linear-gradient(135deg, #f0f7ff 0%, #fafffe 100%); border: 2px solid #1a6bb0; border-radius: 12px; padding: 24px 28px; margin-bottom: 28px; }
.kbai-verdict-box p { font-size: 1rem; line-height: 1.7; color: #222; margin: 0; }

.kbai-error-box { background: #fff5f5; border: 1px solid #ffcccc; border-radius: 8px; padding: 20px 24px; color: #cc0000; }
.kbai-no-results { text-align: center; padding: 60px 20px; color: #666; }

/* Internal links */
.kbai-internal-link { color: #1a6bb0; border-bottom: 1px dotted #1a6bb0; text-decoration: none; }
.kbai-internal-link:hover { border-bottom-style: solid; }

/* ── Responsive ───────────────────────────────────────────────────────────── */
@media (max-width: 900px) {
    .kbai-model-layout, .kbai-archive-layout { grid-template-columns: 1fr; }
    .kbai-model-sidebar, .kbai-archive-sidebar { position: static; }
    .kbai-compare-strip { grid-template-columns: 1fr; text-align: center; }
    .kbai-compare-vs-badge { margin: 0 auto; }
    .kbai-pros-cons-grid { grid-template-columns: 1fr; }
    .kbai-compare-grid { grid-template-columns: 1fr; }
}

@media (max-width: 600px) {
    .kbai-model-header { flex-direction: column; }
    .kbai-model-grid { grid-template-columns: 1fr; }
    .kbai-compare-title { font-size: 1.4rem; }
}

/* ── Vote Button ──────────────────────────────────────────────────────────── */
.kbai-vote-btn { display:inline-flex;align-items:center;gap:8px;background:#fff;border:2px solid #e0e0e0;color:#333;font-size:.9rem;font-weight:700;padding:10px 20px;border-radius:8px;cursor:pointer;transition:all .2s; }
.kbai-vote-btn:hover { border-color:#1a6bb0;color:#1a6bb0; }
.kbai-vote-btn.voted { background:#1a6bb0;border-color:#1a6bb0;color:#fff; }
.kbai-vote-count { font-size:1.1rem;font-weight:800; }

/* ── Reviews ─────────────────────────────────────────────────────────────── */
.kbai-rating-summary { display:flex;align-items:center;gap:32px;background:#f9f9f9;border:1px solid #e5e5e5;border-radius:12px;padding:24px;margin-bottom:28px; }
.kbai-avg-score { font-size:3.5rem;font-weight:900;color:#222;line-height:1; }
.kbai-avg-score span { font-size:1.2rem;color:#888; }
.kbai-rating-bars { flex:1; }
.kbai-rating-bar-row { display:flex;align-items:center;gap:8px;margin-bottom:6px; }
.kbai-star-label { font-size:.82rem;width:20px;text-align:right;color:#666; }
.kbai-bar-track { flex:1;height:10px;background:#e8e8e8;border-radius:5px;overflow:hidden; }
.kbai-bar-fill { height:100%;background:#f5c518;border-radius:5px;transition:width .4s; }
.kbai-bar-count { font-size:.78rem;width:20px;color:#888; }
.kbai-total-reviews { font-size:.88rem;color:#888;white-space:nowrap; }
.kbai-reviews-list { display:flex;flex-direction:column;gap:16px;margin-bottom:32px; }
.kbai-review-card { background:#fff;border:1px solid #e5e5e5;border-radius:10px;padding:20px; }
.kbai-review-header { display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:10px; }
.kbai-review-stars { color:#f5c518;font-size:1rem;letter-spacing:2px; }
.kbai-review-author { font-weight:700;font-size:.92rem; }
.kbai-review-role,.kbai-review-usecase { font-size:.78rem;background:#f0f0f0;padding:2px 9px;border-radius:10px;color:#555; }
.kbai-review-date { font-size:.78rem;color:#aaa;margin-left:auto; }
.kbai-review-body { margin:0;font-size:.9rem;color:#333;line-height:1.6; }
.kbai-review-form-wrap { background:#f9f9f9;border:1px solid #e5e5e5;border-radius:12px;padding:24px;margin-top:16px; }
.kbai-review-form { display:flex;flex-direction:column;gap:14px; }
.kbai-form-row { display:flex;flex-direction:column;gap:5px; }
.kbai-form-row label { font-size:.85rem;font-weight:600;color:#555; }
.kbai-form-row input,.kbai-form-row textarea { padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:.9rem;width:100%;box-sizing:border-box; }
.kbai-form-row textarea { resize:vertical; }
.kbai-star-picker { display:flex;gap:6px;cursor:pointer; }
.kbai-star-btn { font-size:1.8rem;color:#ddd;transition:color .1s;line-height:1; }
.kbai-star-btn.hover,.kbai-star-btn.selected { color:#f5c518; }
.kbai-success { background:#d4edda;color:#155724;padding:12px 16px;border-radius:6px;margin:0; }
.kbai-error   { background:#f8d7da;color:#721c24;padding:12px 16px;border-radius:6px;margin:0; }

/* ── Rankings ─────────────────────────────────────────────────────────────── */
.kbai-ranking-tabs { display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px; }
.kbai-ranking-list { display:flex;flex-direction:column;gap:12px; }
.kbai-ranking-row { display:flex;align-items:center;gap:16px;background:#fff;border:1px solid #e5e5e5;border-radius:10px;padding:16px 20px;transition:box-shadow .2s; }
.kbai-ranking-row:hover { box-shadow:0 4px 16px rgba(0,0,0,.08); }
.kbai-sponsored-row { border-color:#f5c518;background:#fffdf0; }
.kbai-rank-number { font-size:1.6rem;font-weight:900;color:#ddd;width:36px;text-align:center;flex-shrink:0; }
.kbai-rank-thumb img { width:48px;height:48px;border-radius:8px;object-fit:cover; }
.kbai-rank-info { flex:1; }
.kbai-rank-name { font-size:1rem;font-weight:700;margin:0 0 4px; }
.kbai-rank-name a { color:#111;text-decoration:none; }
.kbai-rank-name a:hover { color:#1a6bb0; }
.kbai-rank-meta { display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px; }
.kbai-rank-meta span { font-size:.78rem;color:#666; }
.kbai-rank-excerpt { font-size:.82rem;color:#666;margin:0;line-height:1.5; }
.kbai-rank-stats { display:flex;flex-direction:column;align-items:center;gap:4px;flex-shrink:0;min-width:70px; }
.kbai-rank-rating,.kbai-rank-votes { font-size:.88rem;font-weight:700;color:#555; }
.kbai-sponsored-badge { display:inline-block;background:#f5c518;color:#333;font-size:.65rem;font-weight:700;padding:2px 7px;border-radius:4px;margin-left:8px;text-transform:uppercase;letter-spacing:.05em; }

/* Pros/Cons lists */
.kbai-pros-list li { color:#155724;margin-bottom:8px;line-height:1.5; }
.kbai-cons-list li { color:#721c24;margin-bottom:8px;line-height:1.5; }
