:root {
  --color-primary:       #0ea5e9;
  --color-primary-dark:  #0284c7;
  --color-primary-light: #e0f2fe;
  --color-accent:        #10b981;
  --color-accent-dark:   #059669;
  --color-dark:          #0f172a;
  --color-surface:       #f8fafc;
  --color-border:        #e2e8f0;
  --color-text:          #0f172a;
  --color-muted:         #64748b;
  --color-danger:        #ef4444;
  --color-warning:       #f59e0b;
  --color-success:       #10b981;
  --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --radius-sm:  6px;
  --radius-md:  12px;
  --radius-lg:  20px;
  --shadow-sm:  0 1px 3px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.04);
  --shadow-md:  0 4px 6px -1px rgba(0,0,0,.08), 0 2px 4px -1px rgba(0,0,0,.04);
  --shadow-lg:  0 10px 15px -3px rgba(0,0,0,.08), 0 4px 6px -2px rgba(0,0,0,.04);
}
* { box-sizing: border-box; }
body { font-family: var(--font-sans); color: var(--color-text); background: var(--color-surface); -webkit-font-smoothing: antialiased; }
[x-cloak] { display: none !important; }
.badge-verified { display:inline-flex; align-items:center; gap:4px; background:#dcfce7; color:#15803d; font-size:11px; font-weight:700; padding:2px 8px; border-radius:20px; }
.badge-specialty { display:inline-flex; align-items:center; gap:4px; background:#e0f2fe; color:#0284c7; font-size:11px; font-weight:600; padding:2px 8px; border-radius:20px; }
.card-hover { transition: transform 0.15s ease, box-shadow 0.15s ease; cursor:pointer; }
.card-hover:hover { transform: translateY(-2px); box-shadow: var(--shadow-lg); }
.btn-primary { display:inline-flex; align-items:center; gap:8px; background:var(--color-primary); color:#fff; font-weight:600; padding:10px 20px; border-radius:var(--radius-sm); border:none; cursor:pointer; transition:background 0.15s; text-decoration:none; font-size:14px; }
.btn-primary:hover { background:var(--color-primary-dark); }
.btn-outline { display:inline-flex; align-items:center; gap:8px; background:transparent; color:var(--color-primary); font-weight:600; padding:10px 20px; border-radius:var(--radius-sm); border:2px solid var(--color-primary); cursor:pointer; transition:all 0.15s; text-decoration:none; font-size:14px; }
.btn-outline:hover { background:var(--color-primary-light); }
.btn-ghost { display:inline-flex; align-items:center; gap:6px; background:transparent; color:var(--color-muted); font-weight:500; padding:8px 12px; border-radius:var(--radius-sm); border:none; cursor:pointer; transition:color 0.15s; text-decoration:none; font-size:14px; }
.btn-ghost:hover { color:var(--color-primary); }
.section-wrap { max-width:1200px; margin:0 auto; padding:0 24px; }
.spec-pill { display:inline-flex; align-items:center; gap:6px; padding:8px 16px; border-radius:40px; border:1.5px solid var(--color-border); background:#fff; font-size:13px; font-weight:500; cursor:pointer; transition:all 0.15s; white-space:nowrap; }
.spec-pill:hover, .spec-pill.active { border-color:var(--color-primary); background:var(--color-primary-light); color:var(--color-primary-dark); }
.stars { color:#f59e0b; letter-spacing:1px; }
.input { width:100%; padding:10px 14px; border:1.5px solid var(--color-border); border-radius:var(--radius-sm); font-size:14px; font-family:var(--font-sans); outline:none; transition:border-color 0.15s; background:#fff; }
.input:focus { border-color:var(--color-primary); box-shadow:0 0 0 3px rgba(14,165,233,0.12); }
.section-title { font-size:28px; font-weight:800; line-height:1.2; }
.section-sub { font-size:16px; color:var(--color-muted); margin-top:8px; }
.grid-auto-cards { display:grid; grid-template-columns:repeat(auto-fill, minmax(280px, 1fr)); gap:20px; }
