/* ── Witness Directory Plugin Styles ─────────────────── */
:root {
  --wd-primary: #3d81a6;
  --wd-accent:  #f08139;
  --wd-light:   #fbfbfb;
  --wd-border:  #ccc;
  --wd-text:    #333;
  --wd-muted:   #777;
  --wd-radius:  4px;
  --wd-shadow:  0 2px 5px rgba(0,0,0,.1);
}

/* ── Buttons ─────────────────────────────────────────── */
.wd-btn { display:inline-block; padding:10px 22px; border-radius:var(--wd-radius); font-weight:600; cursor:pointer; border:2px solid transparent; text-decoration:none; font-size:14px; transition:.2s; }
.wd-btn-primary  { background:var(--wd-primary); color:#fff; border-color:var(--wd-primary); }
.wd-btn-primary:hover { background:#1e2d6d; color:#fff; }
.wd-btn-outline  { background:transparent; color:var(--wd-primary); border-color:var(--wd-primary); }
.wd-btn-outline:hover { background:var(--wd-primary); color:#fff; }
.wd-btn-accent   { background:var(--wd-accent); color:#fff; border-color:var(--wd-accent); }
.wd-btn-large    { padding:14px 32px; font-size:16px; }
.wd-btn-sm       { padding:6px 14px; font-size:13px; }

/* ── Search Form ─────────────────────────────────────── */
.wd-search-form { background:var(--wd-primary); padding:40px; border-radius:var(--wd-radius); color:#fff; }
.wd-search-form h2 { margin:0 0 20px; font-size:24px; }
.wd-search-row { display:flex; gap:12px; flex-wrap:wrap; }
.wd-field { flex:1; min-width:180px; }
.wd-field input, .wd-field select { width:100%; padding:10px 14px; border:none; border-radius:var(--wd-radius); font-size:15px; box-sizing:border-box; }

/* ── Expert Grid ─────────────────────────────────────── */
.wd-expert-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:24px; }
.wd-expert-card { background:#fff; border-radius:var(--wd-radius); box-shadow:var(--wd-shadow); overflow:hidden; position:relative; transition:.2s; }
.wd-expert-card:hover { box-shadow:0 6px 20px rgba(0,0,0,.14); transform:translateY(-2px); }
.wd-expert-card.wd-featured { border:2px solid #f0c040; }
.wd-featured-badge { position:absolute; top:10px; right:10px; background:#f0c040; color:#333; font-size:11px; font-weight:700; padding:3px 8px; border-radius:3px; text-transform:uppercase; }
.wd-card-img img { width:100%; height:180px; object-fit:cover; display:block; }
.wd-card-body { padding:16px; }
.wd-card-name a { color:var(--wd-primary); text-decoration:none; font-size:17px; font-weight:700; }
.wd-card-name a:hover { color:var(--wd-accent); }
.wd-card-company { color:var(--wd-muted); font-size:13px; margin:4px 0; }
.wd-card-cats a { font-size:12px; color:var(--wd-primary); text-decoration:none; background:rgba(44,62,140,.08); padding:2px 8px; border-radius:20px; margin-right:4px; }
.wd-card-location { font-size:13px; color:var(--wd-muted); margin:6px 0; }
.wd-card-available { font-size:12px; color:#5a7a3a; font-weight:600; margin:4px 0; }
.wd-card-rating { margin:6px 0; }

/* ── Stars ───────────────────────────────────────────── */
.wd-stars { font-size:18px; }
.wd-stars .star.filled { color:#f0c040; }
.wd-stars .star { color:#ccc; }
.wd-rating-count { font-size:13px; color:var(--wd-muted); margin-left:4px; }

/* ── No Results ──────────────────────────────────────── */
.wd-no-results { grid-column:1/-1; text-align:center; padding:60px 20px; color:var(--wd-muted); }

/* ── Pagination ──────────────────────────────────────── */
.wd-pagination { text-align:center; margin:40px 0; }
.wd-pagination .page-numbers { display:inline-block; padding:8px 14px; margin:2px; border:1px solid var(--wd-border); border-radius:4px; color:var(--wd-primary); text-decoration:none; }
.wd-pagination .page-numbers.current { background:var(--wd-primary); color:#fff; border-color:var(--wd-primary); }

/* ── Forms ───────────────────────────────────────────── */
.wd-form-row { margin-bottom:16px; }
.wd-form-row.two-col   { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.wd-form-row.three-col { display:grid; grid-template-columns:1fr 1fr 1fr; gap:12px; }
.wd-form-row input,
.wd-form-row select,
.wd-form-row textarea { width:100%; padding:10px 14px; border:1px solid var(--wd-border); border-radius:var(--wd-radius); font-size:15px; box-sizing:border-box; color:var(--wd-text); }
.wd-form-row input.full-width { width:100%; }
.wd-form-row textarea { resize:vertical; }
.wd-form-row input:focus,
.wd-form-row select:focus,
.wd-form-row textarea:focus { outline:none; border-color:var(--wd-primary); box-shadow:0 0 0 3px rgba(44,62,140,.12); }
.wd-form-message { padding:10px 14px; border-radius:var(--wd-radius); margin-bottom:12px; display:none; }
.wd-form-message.success { background:#e8f5e9; color:#2e7d32; display:block; }
.wd-form-message.error   { background:#ffebee; color:#c62828; display:block; }
.wd-form-actions { margin-top:20px; }

/* ── Register Tabs ───────────────────────────────────── */
.wd-tabs { display:flex; gap:0; margin-bottom:24px; }
.wd-tab { flex:1; padding:14px; background:var(--wd-light); border:1px solid var(--wd-border); cursor:pointer; font-weight:600; font-size:15px; }
.wd-tab.active { background:var(--wd-primary); color:#fff; border-color:var(--wd-primary); }

/* ── Category Grid ───────────────────────────────────── */
.wd-cat-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:8px; max-height:320px; overflow-y:auto; padding:12px; background:var(--wd-light); border-radius:var(--wd-radius); border:1px solid var(--wd-border); }
.wd-cat-label { display:flex; align-items:center; gap:8px; font-size:13px; cursor:pointer; padding:4px 0; }
.wd-cat-label input { margin:0; }
.wd-category-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:16px; }
.wd-cat-block { display:block; background:#fff; border:1px solid var(--wd-border); border-radius:var(--wd-radius); padding:16px; text-decoration:none; transition:.2s; }
.wd-cat-block:hover { border-color:var(--wd-primary); background:rgba(44,62,140,.04); }
.wd-cat-name { display:block; font-weight:600; color:var(--wd-primary); }
.wd-cat-count { display:block; font-size:12px; color:var(--wd-muted); margin-top:4px; }

/* ── Featured Experts ────────────────────────────────── */
.wd-featured-experts { display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:16px; }
.wd-featured-card { text-align:center; }
.wd-featured-card img { width:100px; height:100px; object-fit:cover; border-radius:50%; border:3px solid var(--wd-border); }
.wd-featured-card h4 { margin:8px 0 4px; font-size:14px; }
.wd-featured-card h4 a { color:var(--wd-text); text-decoration:none; }
.wd-featured-card p { font-size:12px; color:var(--wd-muted); margin:0; }

/* ── Ratings ─────────────────────────────────────────── */
.wd-rating-summary { text-align:center; padding:20px; background:var(--wd-light); border-radius:var(--wd-radius); margin-bottom:24px; }
.wd-avg-score { font-size:48px; font-weight:700; color:var(--wd-primary); line-height:1; }
.wd-review { border:1px solid var(--wd-border); border-radius:var(--wd-radius); padding:16px; margin-bottom:12px; }
.wd-review-header { display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-bottom:8px; }
.wd-review-date { color:var(--wd-muted); font-size:12px; margin-left:auto; }
.wd-admin-reply { background:#fffde7; border-left:3px solid #f0c040; padding:10px 14px; margin-top:10px; border-radius:0 4px 4px 0; }
.wd-star-select { display:flex; flex-direction:row-reverse; justify-content:flex-end; gap:4px; font-size:28px; margin-bottom:12px; }
.wd-star-select input { display:none; }
.wd-star-select label { cursor:pointer; color:#ccc; }
.wd-star-select label:hover,
.wd-star-select label:hover ~ label,
.wd-star-select input:checked ~ label { color:#f0c040; }

/* ── Dashboard ───────────────────────────────────────── */
.wd-dashboard { display:grid; grid-template-columns:240px 1fr; gap:30px; align-items:start; }
.wd-dash-sidebar { background:#fff; border-radius:var(--wd-radius); padding:24px; box-shadow:var(--wd-shadow); text-align:center; position:sticky; top:20px; }
.wd-dash-sidebar img { width:100px; height:100px; object-fit:cover; border-radius:50%; margin-bottom:12px; border:3px solid var(--wd-border); }
.wd-dash-nav { margin-top:16px; }
.wd-dash-nav a { display:block; padding:10px 14px; color:var(--wd-text); text-decoration:none; border-radius:4px; margin-bottom:4px; }
.wd-dash-nav a:hover, .wd-dash-nav a.active { background:var(--wd-light); color:var(--wd-primary); font-weight:600; }
.wd-dash-content { background:#fff; border-radius:var(--wd-radius); padding:30px; box-shadow:var(--wd-shadow); }
.wd-dash-section { display:none; }
.wd-dash-section.active { display:block; }
.wd-notice { padding:12px 16px; border-radius:var(--wd-radius); margin-bottom:20px; }
.wd-notice-warning { background:#fff8e1; border:1px solid #ffe082; }

/* ── Login ───────────────────────────────────────────── */
.wd-login-wrap { max-width:400px; margin:0 auto; background:#fff; padding:32px; border-radius:var(--wd-radius); box-shadow:var(--wd-shadow); }
.wd-login-wrap h2 { margin-bottom:20px; }
.wd-login-wrap input { display:block; width:100%; margin-bottom:12px; box-sizing:border-box; }
.wd-remember { display:flex; align-items:center; gap:8px; margin-bottom:16px; font-size:14px; }

/* ── Ads ─────────────────────────────────────────────── */
.wd-ads { margin:20px 0; }
.wd-ad-item { display:inline-block; margin:8px; padding:12px; background:#fff; border:1px solid var(--wd-border); border-radius:var(--wd-radius); }
.wd-ad-item img { max-width:200px; max-height:80px; object-fit:contain; display:block; }

/* ── Recent News ─────────────────────────────────────── */
.wd-recent-news { list-style:none; padding:0; margin:0; }
.wd-recent-news li { padding:10px 0; border-bottom:1px solid var(--wd-border); }
.wd-recent-news li:last-child { border:none; }
.wd-recent-news a { color:var(--wd-primary); text-decoration:none; font-weight:600; }
.wd-news-date { display:block; font-size:12px; color:var(--wd-muted); margin-top:3px; }

/* ── Register ────────────────────────────────────────── */
.wd-register-wrap { max-width:800px; margin:0 auto; }
.wd-badge { display:inline-block; padding:3px 10px; border-radius:20px; font-size:12px; font-weight:600; text-transform:uppercase; }
.wd-badge-publish, .wd-badge-active { background:#e8f5e9; color:#2e7d32; }
.wd-badge-pending { background:#fff8e1; color:#f57f17; }
.wd-badge-inactive, .wd-badge-draft { background:#fce4ec; color:#c62828; }
.wd-badge-featured { background:#fff3e0; color:#e65100; }

@media (max-width:768px) {
  .wd-search-row { flex-direction:column; }
  .wd-expert-grid { grid-template-columns:1fr; }
  .wd-form-row.two-col, .wd-form-row.three-col { grid-template-columns:1fr; }
  .wd-dashboard { grid-template-columns:1fr; }
  .wd-dash-sidebar { position:static; }
}
