/* NetValg FAQ Suite v1.1.1 — better contrast + no-JS fallback */
.nvfaq-hub{ display:grid; gap:16px; }
.nvfaq-search{ display:flex; gap:8px; margin-bottom:8px; }
.nvfaq-search input[type="search"]{ flex:1; padding:10px 12px; border:1px solid #e5e7eb; border-radius:8px; }
.nvfaq-search button{ padding:10px 14px; border-radius:8px; border:1px solid #e5e7eb; background:#fff; cursor:pointer; color:#0f172a; }

.nvfaq-cats{ display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:12px; }
.nvfaq-cat{ display:grid; grid-template-columns:48px 1fr auto; align-items:center; gap:10px; padding:12px 14px; border:1px solid #e5e7eb; border-radius:12px; text-decoration:none; color:#0f172a; background:#fff; }
.nvfaq-cat:hover{ box-shadow:0 6px 18px rgba(2,6,23,.06); transform: translateY(-1px); }
.nvfaq-cat-ic-wrap{ width:48px; height:48px; display:flex; align-items:center; justify-content:center; background:#f8fafc; border:1px solid #e5e7eb; border-radius:10px; overflow:hidden; }
.nvfaq-cat-ic-wrap img{ width:100%; height:100%; object-fit:cover; }
.nvfaq-cat-ic-fallback{ color:#64748B; font-weight:700; }
.nvfaq-cat-name{ font-weight:700; }
.nvfaq-cat-count{ font-size:12px; color:#64748B; }

.nvfaq-top{ margin-top:12px; }
.nvfaq-top h3{ margin:0 0 8px 0; }
.nvfaq-top ul{ margin:0; padding-left:16px; }

.nvfaq-list{ display:grid; gap:8px; }
.nvfaq-item{ border:1px solid #e5e7eb; border-radius:12px; background:#fff; overflow:hidden; }
.nvfaq-q{ width:100%; text-align:left; font-weight:700; padding:12px 14px; background:#fff !important; border:none; border-bottom:1px solid #e5e7eb; cursor:pointer; color:#0f172a !important; }
.nvfaq-q:hover{ background:#f8fafc !important; }

/* No-JS fallback: show answers by default */
.nvfaq-a{ display:block; }
.nvfaq-a-inner{ padding:12px 14px; color:#334155; }

/* Collapse only when JS is active */
.nvfaq-js .nvfaq-a{ display:none; }
.nvfaq-js .nvfaq-item.open .nvfaq-a{ display:block; }

/* Compact density toggle (optional future use) */
body.nvfaq-compact .nvfaq-q{ padding:8px 10px; }
body.nvfaq-compact .nvfaq-a-inner{ padding:8px 10px; }
