:root { --wrap:1200px; --radius:18px; --border:#E5E7EB; --ink:#0A0A0A; --muted:#6B7280; }

*{ box-sizing:border-box }
body{ margin:0; font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial; color:var(--ink); background:#F8FAFC }
a{ color:inherit }

.wrap{ width:min(100%,var(--wrap)); margin:0 auto; padding:0 24px 40px; }

header{ border-bottom:1.5px solid var(--border) }
.card{ background:#fff; border:1.5px solid var(--border); border-radius:16px; box-shadow:0 1px 0 rgba(0,0,0,.03); }
.kgl-table{ overflow:hidden }

table{ width:100%; border-collapse:separate; border-spacing:0; }
thead th{ text-align:left; font-size:14px; color:var(--muted); background:#FAFAFA; border-bottom:1.5px solid var(--border); padding:12px }
tbody td{ padding:14px 12px; border-bottom:1px solid #F1F5F9 }
tbody tr:last-child td{ border-bottom:0 }

.dn{ text-decoration:none; font-weight:600 }
.kbd{ font-size:12px; padding:3px 6px; border:1.5px solid var(--border); border-radius:6px; background:#fff; color:#111827 }
.btn{ height:44px; padding:0 16px; border:1.5px solid #111827; color:#111827; background:#fff; border-radius:12px; font-weight:600; cursor:pointer }
.btn:focus{ outline:2px solid #111827; outline-offset:2px }

.btnx{ display:inline-flex; align-items:center; justify-content:center; height:34px; padding:0 10px; border:1.5px solid var(--border); background:#fff; border-radius:10px; text-decoration:none; }
.btnx:hover{ background:#F9FAFB }
.btnx:focus{ outline:2px solid #111827; outline-offset:2px }

.searchbar{ position:sticky; top:0; z-index:20; background:rgba(248,250,252,.92); backdrop-filter:saturate(180%) blur(8px); border-bottom:1.5px solid var(--border) }
.search{ display:flex; align-items:center; gap:10px; padding:14px 0 }
.search .box{ display:flex; align-items:center; gap:12px; flex:1; background:#fff; border:1.5px solid var(--border); border-radius:999px; padding:10px 14px }
.search input[type=search]{ flex:1; border:0; outline:0; font-size:18px }

.filters{ display:flex; gap:12px; flex-wrap:wrap; align-items:end; padding:10px 0 14px }
.field{ display:grid; gap:6px }
.field input, .field select{ height:38px; padding:0 12px; border:1.5px solid var(--border); border-radius:12px; background:#fff }

.meta{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin:12px 0 }
.pill{ border:1.5px solid var(--border); background:#fff; padding:6px 10px; border-radius:999px }

.cta{ display:flex; gap:8px; flex-wrap:wrap }

/* Testimonials */
.kgl-testimonials .grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px }
.kgl-testimonials .card{ padding:14px }
.kgl-testimonials .stars{ color:#F59E0B; margin:0 0 6px }
@media (max-width: 900px){
  .kgl-testimonials .grid{ grid-template-columns:1fr }
}
