/* TCCNA Member Directory plugin styles */
.tccna-directory {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
  max-width: 1400px;
  margin: 0 auto;
  padding: 20px;
  display: grid;
  grid-template-columns: minmax(220px, 20%) 1fr;
  gap: 24px;
  align-items: start;
}

.tccna-directory .tccna-category-sidebar {
  background: linear-gradient(180deg, #f8fafc 0%, #f3f7fb 100%);
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  padding: 20px;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.05);
}
.tccna-directory .tccna-sidebar-header { margin-bottom: 18px; }
.tccna-directory .tccna-sidebar-title {
  margin: 0 0 6px;
  font-size: 1.1rem;
  font-weight: 700;
  color: #0f172a;
}
.tccna-directory .tccna-sidebar-copy {
  margin: 0;
  color: #64748b;
  font-size: 0.95rem;
  line-height: 1.5;
}
.tccna-directory .tccna-category-main { min-width: 0; }
.tccna-directory .tccna-category-toolbar { margin-bottom: 24px; }
.tccna-directory .tccna-search { display:flex; gap:8px; margin-bottom:0; }
.tccna-directory .tccna-sidebar-cat-list { display:flex; flex-direction:column; gap:10px; margin:0; }
.tccna-directory .tccna-sidebar-cat-list .tccna-cat {
  display:flex;
  justify-content:space-between;
  align-items:center;
  width:100%;
  padding:12px 14px;
  border-radius:10px;
  background:#fff;
  border:1px solid #e5e7eb;
  color:#334155;
}
.tccna-directory .tccna-sidebar-cat-list .tccna-cat:hover {
  background:#eef4ff;
  border-color:#c7d2fe;
  transform:translateY(-1px);
}
.tccna-directory .tccna-sidebar-cat-list .tccna-cat-active {
  background:#0073aa;
  color:#fff;
  border-color:#0073aa;
}
.tccna-directory .tccna-sidebar-cat-list .count { font-size:0.9rem; opacity:0.85; }
.tccna-directory .tccna-sidebar-cat-list .tccna-cat-active .count { opacity:0.95; }
.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:12px; overflow:hidden; transition:transform 0.2s ease, box-shadow 0.2s ease; box-shadow:0 8px 24px rgba(15, 23, 42, 0.05); }
.tccna-item a.tccna-item-link { display:block; color:inherit; text-decoration:none; height:100%; }
.tccna-item:hover { transform:translateY(-4px); box-shadow:0 14px 32px rgba(15, 23, 42, 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; display:flex; flex-direction:column; gap:8px; }
.tccna-title { font-size:1.05rem; margin:0; font-weight:700; color:#0f172a; line-height:1.35; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.tccna-phone, .tccna-email, .tccna-address, .tccna-category { margin:0; font-size:0.9rem; color:#475569; line-height:1.45; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.tccna-category { font-size:0.8rem; color:#64748b; font-weight:700; letter-spacing:0.04em; text-transform:uppercase; }
.tccna-company-name { font-size:0.95rem; font-weight:600; color:#334155; line-height:1.4; }
.tccna-card-more { margin-top:auto; padding-top:6px; font-size:0.84rem; font-weight:700; color:#0073aa; }
.tccna-chinese-org, .tccna-full-name-cn, .tccna-full-name-en { display:none; }

.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; }
ul.page-numbers li {list-style-type:none !important;}
@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:1180px; margin:2rem auto; padding:0 16px; }
.tccna-member-single {
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
  border: 1px solid #dbeafe;
  border-radius: 24px;
  padding: 24px;
  box-shadow: 0 16px 48px rgba(15, 23, 42, 0.06);
}
.tccna-single-hero {
  display: grid;
  grid-template-columns: 1.3fr 0.8fr;
  gap: 24px;
  align-items: center;
  padding: 8px 4px 24px;
  border-bottom: 1px solid #e2e8f0;
  margin-bottom: 24px;
}
.tccna-single-badges { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:12px; }
.tccna-single-badge {
  display:inline-flex;
  align-items:center;
  padding:6px 10px;
  border-radius:999px;
  background:#0073aa;
  color:#fff;
  font-size:0.78rem;
  font-weight:700;
  letter-spacing:0.03em;
  text-transform:uppercase;
}
.tccna-single-badge-soft {
  background:#e0f2fe;
  color:#075985;
}
.tccna-single-title { margin:0 0 10px; font-size:2rem; font-weight:800; color:#0f172a; line-height:1.2; }
.tccna-single-company { margin:0 0 6px; font-size:1rem; font-weight:700; color:#334155; }
.tccna-single-org { margin:0; font-size:0.98rem; color:#64748b; }
.tccna-single-hero-media img {
  width:100%;
  height:auto;
  display:block;
  border-radius:18px;
  box-shadow:0 14px 32px rgba(15, 23, 42, 0.13);
}
.tccna-single-layout {
  display:grid;
  grid-template-columns: minmax(260px, 320px) 1fr;
  gap: 24px;
  align-items:start;
}
.tccna-single-sidebar { display:flex; flex-direction:column; gap:16px; }
.tccna-single-card, .tccna-single-section {
  background:#fff;
  border:1px solid #e2e8f0;
  border-radius:18px;
  padding:18px;
  box-shadow:0 8px 24px rgba(15, 23, 42, 0.04);
}
.tccna-single-card h2, .tccna-single-section h2 {
  margin:0 0 12px;
  font-size:1.05rem;
  color:#0f172a;
  font-weight:700;
}
.tccna-single-contact-list {
  list-style:none;
  padding:0;
  margin:0;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.tccna-single-contact-list li {
  display:flex;
  align-items:flex-start;
  gap:10px;
  color:#475569;
  line-height:1.5;
  font-size:0.95rem;
}
.tccna-single-contact-list a {
  color:#0073aa;
  font-weight:600;
  text-decoration:none;
}
.tccna-single-contact-list a:hover { text-decoration:underline; }
.tccna-single-icon {
  display:inline-flex;
  width:24px;
  height:24px;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:#e0f2fe;
  color:#0073aa;
  flex-shrink:0;
}
.tccna-single-info-grid {
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:14px;
}
.tccna-single-info-card {
  background:linear-gradient(145deg, #f8fbff 0%, #ffffff 100%);
  border:1px solid #e2e8f0;
  border-radius:14px;
  padding:12px 14px;
}
.tccna-single-info-card h3 {
  margin:0 0 6px;
  font-size:0.86rem;
  font-weight:700;
  letter-spacing:0.04em;
  color:#0073aa;
  text-transform:uppercase;
}
.tccna-single-info-value { color:#334155; font-size:0.95rem; line-height:1.6; }
.tccna-single-info-value a { color:#0073aa; font-weight:600; }
.tccna-single-content { line-height:1.8; color:#475569; font-size:1rem; }
.tccna-single-content h2, .tccna-single-content h3 { color:#0f172a; margin-top:1rem; }
.tccna-single-content a { color:#0073aa; font-weight:600; }
.tccna-single-content a:hover { color:#005a87; text-decoration:underline; }

@media (max-width:900px) {
  .tccna-single-hero,
  .tccna-single-layout {
    grid-template-columns:1fr;
  }
  .tccna-single-hero-media { order:-1; }
  .tccna-single-info-grid { grid-template-columns:1fr; }
}

@media (max-width:560px) {
  .tccna-member-single { padding:16px; }
  .tccna-single-title { font-size:1.5rem; }
  .tccna-single-card, .tccna-single-section { padding:14px; }
}

/* Category archive */
.tccna-category-wrap {
  max-width: 1400px;
  margin: 2rem auto;
  padding: 0 20px;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  display: grid;
  grid-template-columns: minmax(220px, 20%) 1fr;
  gap: 24px;
  align-items: start;
}
.tccna-category-sidebar {
  background: linear-gradient(180deg, #f8fafc 0%, #f3f7fb 100%);
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  padding: 20px;
  position: sticky;
  top: 20px;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.05);
}
.tccna-sidebar-header { margin-bottom: 18px; }
.tccna-sidebar-title {
  margin: 0 0 6px;
  font-size: 1.1rem;
  font-weight: 700;
  color: #0f172a;
}
.tccna-sidebar-copy {
  margin: 0;
  color: #64748b;
  font-size: 0.95rem;
  line-height: 1.5;
}
.tccna-category-main { min-width: 0; }
.tccna-category-header {
  margin-bottom: 24px;
  padding-bottom: 20px;
  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-toolbar { margin-bottom: 24px; }
.tccna-category-toolbar .tccna-search { margin-bottom: 0; }
.tccna-sidebar-cat-list { display: flex; flex-direction: column; gap: 10px; margin: 0; }
.tccna-sidebar-cat-list .tccna-cat {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 12px 14px;
  border-radius: 10px;
  background: #fff;
  border: 1px solid #e5e7eb;
  color: #334155;
}
.tccna-sidebar-cat-list .tccna-cat:hover {
  background: #eef4ff;
  border-color: #c7d2fe;
  transform: translateY(-1px);
}
.tccna-sidebar-cat-list .tccna-cat-active {
  background: #0073aa;
  color: #fff;
  border-color: #0073aa;
}
.tccna-sidebar-cat-list .count { font-size: 0.9rem; opacity: 0.85; }
.tccna-sidebar-cat-list .tccna-cat-active .count { opacity: 0.95; }

@media (max-width: 900px) {
  .tccna-category-wrap {
    grid-template-columns: 1fr;
  }
  .tccna-category-sidebar {
    position: static;
  }
  .tccna-sidebar-cat-list {
    flex-direction: row;
    flex-wrap: wrap;
  }
  .tccna-sidebar-cat-list .tccna-cat {
    width: auto;
    min-width: 0;
  }
}

@media (max-width: 560px) {
  .tccna-category-wrap {
    padding: 0 12px;
  }
  .tccna-category-sidebar {
    padding: 16px;
  }
  .tccna-category-title {
    font-size: 1.45rem;
  }
}
