/* TCCNA Member Directory plugin styles */
.tccna-directory { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif; max-width:1200px; margin:0 auto; padding:20px; }
.tccna-directory .tccna-search { display:flex; gap:8px; margin-bottom:24px; }
.tccna-directory .tccna-search input[type="text"] { flex:1; padding:12px 16px; border:1px solid #ddd; border-radius:6px; font-size:1rem; transition:border-color 0.2s; }
.tccna-directory .tccna-search input[type="text"]:focus { outline:none; border-color:#0073aa; box-shadow:0 0 0 3px rgba(0,115,170,0.1); }
.tccna-directory .tccna-search button { padding:12px 24px; border:0; background:#0073aa; color:#fff; border-radius:6px; font-weight:600; cursor:pointer; transition:background 0.2s; }
.tccna-directory .tccna-search button:hover { background:#005a87; }
.tccna-cat-list { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:24px; }
.tccna-cat { display:inline-flex; align-items:center; padding:10px 16px; background:#f5f5f5; border-radius:6px; text-decoration:none; color:#222; cursor:pointer; transition:all 0.2s; border:1px solid transparent; }
.tccna-cat:hover { background:#e8e8e8; transform:translateY(-2px); }
.tccna-cat-active { background:#0073aa; color:#fff; font-weight:600; }
.tccna-cat .count { margin-left:6px; opacity:0.8; font-size:0.9rem; }

.tccna-grid { display:grid; gap:1.5rem; }
.tccna-grid.tccna-cols-1 { grid-template-columns:repeat(1,1fr); }
.tccna-grid.tccna-cols-2 { grid-template-columns:repeat(2,1fr); }
.tccna-grid.tccna-cols-3 { grid-template-columns:repeat(3,1fr); }
.tccna-grid.tccna-cols-4 { grid-template-columns:repeat(4,1fr); }
.tccna-grid.tccna-cols-5 { grid-template-columns:repeat(5,1fr); }
.tccna-grid.tccna-cols-6 { grid-template-columns:repeat(6,1fr); }
.tccna-item { border:1px solid var(--tccna-border, #eee); padding:0; background:#fff; border-radius:8px; overflow:hidden; transition:transform 0.2s ease, box-shadow 0.2s ease; box-shadow:0 1px 3px rgba(0,0,0,0.05); }
.tccna-item a.tccna-item-link { display:block; color:inherit; text-decoration:none; }
.tccna-item:hover { transform:translateY(-6px); box-shadow:0 12px 24px rgba(0,0,0,0.12); }

/* Disable hover if settings say so */
.tccna-hover-disabled .tccna-item:hover { transform:none; box-shadow:0 1px 3px rgba(0,0,0,0.05); }
/* Loading state */
.tccna-listings.tccna-loading { opacity:.6; position:relative; }
.tccna-listings.tccna-loading::after { content:''; position:absolute; inset:0; background:rgba(255,255,255,.6) url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 50 50"><circle cx="25" cy="25" r="20" stroke="%23007dbf" stroke-width="5" fill="none" stroke-linecap="round" stroke-dasharray="31.4 31.4" transform="rotate(-90 25 25)"><animateTransform attributeName="transform" type="rotate" from="0 25 25" to="360 25 25" dur="1s" repeatCount="indefinite"/></circle></svg>') center center no-repeat; }
.tccna-thumb { width:100%; height:160px; display:flex; align-items:center; justify-content:center; overflow:hidden; background:linear-gradient(135deg, #f5f5f5 0%, #efefef 100%); }
.tccna-thumb img { width:100%; height:100%; object-fit:cover; display:block; }
.tccna-body { padding:16px; }
.tccna-title { font-size:1.1rem; margin:0 0 10px; font-weight:600; color:#222; }
.tccna-phone, .tccna-email, .tccna-address, .tccna-category { margin:0 0 8px; font-size:0.9rem; color:#555; }
.tccna-phone a, .tccna-email a { color:#0073aa; text-decoration:none; }
.tccna-phone a:hover, .tccna-email a:hover { text-decoration:underline; }
.tccna-category { font-size:0.85rem; color:#888; font-weight:500; }
.tccna-chinese-org, .tccna-full-name-cn, .tccna-company-name, .tccna-full-name-en { font-size:0.9rem; color:#666; margin-bottom:6px; }

.tccna-pagination { margin-top:24px; text-align:center; }
.tccna-pagination ul { list-style:none; padding:0; display:flex; gap:6px; justify-content:center; }
.tccna-pagination li { background:#f7f7f7; padding:8px 12px; border-radius:4px; transition:all 0.2s; }
.tccna-pagination li.active { background:#0073aa; }
.tccna-pagination a { text-decoration:none; color:#222; font-weight:500; }
.tccna-pagination li.active a { color:#fff; }

@media (max-width:900px) {
  .tccna-directory { padding:16px; }
  .tccna-directory .tccna-search { flex-direction:column; gap:12px; }
  .tccna-directory .tccna-search input[type="text"], .tccna-directory .tccna-search button { width:100%; }
  .tccna-cat-list { gap:6px; }
  .tccna-cat { padding:8px 12px; font-size:0.9rem; }
  .tccna-grid { grid-template-columns:repeat(2,1fr); gap:1.2rem; }
  .tccna-single-grid { grid-template-columns:1fr; gap:24px; }
  .tccna-single-thumb { position:static; margin-bottom:20px; }
  .tccna-single-title { font-size:1.5rem; }
  .tccna-category-wrap { padding:0 16px; }
  .tccna-category-title { font-size:1.5rem; }
  .tccna-pagination ul { flex-wrap:wrap; gap:4px; }
}

@media (max-width:560px) {
  .tccna-directory { padding:12px; }
  .tccna-cat-list { gap:4px; }
  .tccna-cat { padding:6px 10px; font-size:0.85rem; }
  .tccna-grid { grid-template-columns:1fr; gap:1rem; }
  .tccna-item { border-radius:6px; }
  .tccna-thumb { height:140px; }
  .tccna-body { padding:12px; }
  .tccna-title { font-size:1rem; margin-bottom:8px; }
  .tccna-phone, .tccna-email, .tccna-address, .tccna-category { font-size:0.85rem; margin-bottom:6px; }
  .tccna-single-title { font-size:1.25rem; margin-bottom:10px; }
  .tccna-single-meta { padding:16px; margin-bottom:16px; }
  .tccna-single-meta .tccna-field { margin-bottom:10px; font-size:0.9rem; }
  .tccna-single-content { font-size:0.95rem; line-height:1.7; }
  .tccna-category-title { font-size:1.25rem; }
  .tccna-pagination li { padding:6px 10px; font-size:0.9rem; }
}

/* Single member styles */
.tccna-single-container { max-width:1100px; margin:2rem auto; padding:0 16px; }
.tccna-single-grid { display:grid; grid-template-columns:320px 1fr; gap:28px; align-items:start; }
.tccna-single-thumb { position:sticky; top:28px; max-width:320px; }
.tccna-single-thumb img { width:100%; height:auto; display:block; border-radius:8px; box-shadow:0 2px 8px rgba(0,0,0,0.1); }
.tccna-single-title { margin:0 0 14px; font-size:1.6rem; font-weight:700; color:#0f1724; }
.tccna-single-meta { background:linear-gradient(180deg, #fff 0%, #fbfdff 100%); border-left:4px solid #0073aa; padding:18px; border-radius:8px; margin-bottom:22px; box-shadow:0 6px 18px rgba(10,20,30,0.04); }
.tccna-single-meta .tccna-field { margin-bottom:14px; color:#333; font-size:0.95rem; display:flex; flex-direction:column; }
.tccna-single-meta .tccna-field strong { font-weight:600; color:#0073aa; margin-bottom:6px; text-transform:uppercase; font-size:0.8rem; letter-spacing:0.5px; }
.tccna-single-meta .tccna-field a { color:#0073aa; text-decoration:none; font-weight:500; transition:color 0.2s; }
.tccna-single-meta .tccna-field a:hover { color:#005a87; text-decoration:underline; }
.tccna-single-content { margin-top:20px; line-height:1.8; color:#555; font-size:1rem; }
.tccna-single-content h2 { font-size:1.5rem; font-weight:600; margin:1.5rem 0 1rem; color:#222; }

/* Single field layout improvements */
.tccna-single-meta .tccna-field { display:flex; align-items:center; gap:10px; }
.tccna-single-meta .tccna-field .tccna-icon { display:inline-flex; align-items:center; justify-content:center; width:20px; height:20px; color:#0073aa; }
.tccna-single-meta .tccna-field .tccna-icon svg { width:100%; height:100%; display:block; }
.tccna-single-meta .tccna-field .tccna-value { color:#333; font-size:0.97rem; }
.tccna-single-meta .tccna-field .tccna-empty { color:#999; }
.tccna-single-meta .tccna-field .tccna-empty-hidden { visibility:hidden; }

@media (max-width:900px) {
  .tccna-single-grid { grid-template-columns:1fr; }
  .tccna-single-thumb { position:static; margin-bottom:18px; }
}

/* Category archive */
.tccna-category-wrap { max-width:1200px; margin:2rem auto; padding:0 20px; font-family:-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; }
.tccna-category-header { margin-bottom:32px; padding-bottom:24px; border-bottom:3px solid #0073aa; }
.tccna-category-title { margin:0 0 12px; font-size:2rem; font-weight:700; color:#222; letter-spacing:-0.5px; }
.tccna-category-description { color:#666; margin:0; line-height:1.7; font-size:1rem; }
.tccna-category-listings { margin-top:32px; }
