/*
ClusterNiche Tools v1.0.3
TOOLS ONLY CSS

This plugin controls only:
- tool cards
- inputs
- buttons
- result boxes
- content cards
- related tools
- FAQs

This plugin does NOT control:
- header
- footer
- body width
- page spacing
- page title visibility
- theme containers
- Gutenberg layout
*/

.cnzt-wrap {
  --cnzt-border:#dbe4f0;
  --cnzt-text:#0f172a;
  --cnzt-muted:#475569;
  --cnzt-soft:#f8fbff;
  --cnzt-soft-border:#dbe7f3;
  --cnzt-dark:#0f172a;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--cnzt-text);
}

.cnzt-wrap * {
  box-sizing:border-box;
}

/* Internal wrappers only */
.cnzt-tool-root,
.cnzt-tool-content-wide,
.cnzt-tool-page,
.cnzt-content {
  box-sizing:border-box;
}

/* Hero component */
.cnzt-tool-head {
  background:linear-gradient(135deg,#ffffff 0%,#f5f9ff 100%);
  border:1px solid var(--cnzt-border);
  border-radius:18px;
  box-shadow:0 10px 24px rgba(15,23,42,.04);
  box-sizing:border-box;
}

.cnzt-kicker,
.cnzt-pill {
  display:inline-flex;
  align-items:center;
  gap:6px;
  background:#eaf2fb;
  color:#243b53;
  border:1px solid #dbe7f3;
  border-radius:999px;
  padding:6px 12px;
  font-size:11px;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.cnzt-tool-head h1 {
  letter-spacing:-.035em;
  color:#0f172a;
  font-weight:900;
}

.cnzt-tool-head p {
  color:#475569;
  font-size:15px;
  line-height:1.55;
}

/* Tool card */
.cnzt-tool-card {
  background:#fff;
  border:1px solid var(--cnzt-border);
  border-radius:18px;
  box-shadow:0 10px 24px rgba(15,23,42,.04);
  box-sizing:border-box;
}

.cnzt-tool-top {
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:18px;
  border-bottom:1px solid #e2e8f0;
}

.cnzt-tool-heading {
  letter-spacing:-.02em;
  color:#0f172a;
  font-weight:850;
}

.cnzt-tool-top p {
  color:#475569;
  line-height:1.55;
  font-size:14.5px;
}

.cnzt-tool-stat {
  min-width:76px;
  height:66px;
  border-radius:14px;
  background:#0f172a;
  color:#fff;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  box-shadow:0 12px 24px rgba(15,23,42,.14);
}

.cnzt-tool-stat span {
  font-size:22px;
  font-weight:900;
  line-height:1;
}

.cnzt-tool-stat small {
  opacity:.9;
  font-weight:800;
  font-size:11px;
}

/* Grid and panels */
.cnzt-grid {
  box-sizing:border-box;
}

.cnzt-input-panel,
.cnzt-output-panel {
  min-width:0;
  max-width:100%;
  background:#f8fbff;
  border:1px solid #dbe7f3;
  border-radius:16px;
  box-sizing:border-box;
}

.cnzt-label {
  display:block;
  font-weight:900;
  margin:0 0 9px;
  font-size:13px;
  color:#0f172a;
  letter-spacing:.02em;
}

.cnzt-input,
.cnzt-textarea {
  width:100%;
  max-width:100%;
  border:1px solid #cfd8e6;
  border-radius:13px;
  background:#fff;
  color:#0f172a;
  font-size:15px;
  padding:13px 14px;
  outline:none;
  box-sizing:border-box;
}

.cnzt-input:focus,
.cnzt-textarea:focus {
  border-color:#94a3b8;
  box-shadow:0 0 0 4px rgba(15,23,42,.07);
}

.cnzt-textarea {
  resize:vertical;
  line-height:1.55;
}

.cnzt-controls {
  display:flex;
  flex-wrap:wrap;
  gap:10px 14px;
  color:#475569;
  font-size:13px;
}

.cnzt-controls label {
  display:inline-flex;
  align-items:center;
  gap:6px;
}

/* Buttons */
.cnzt-actions {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.cnzt-btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:10px;
  border:1px solid #0f172a;
  background:#0f172a;
  color:#fff!important;
  padding:11px 15px;
  font-weight:900;
  text-decoration:none!important;
  cursor:pointer;
  line-height:1.1;
  box-shadow:0 8px 18px rgba(15,23,42,.12);
}

.cnzt-btn:hover {
  filter:brightness(.98);
  transform:translateY(-1px);
}

.cnzt-btn:disabled {
  opacity:.55;
  cursor:not-allowed;
  transform:none;
}

.cnzt-btn-ghost {
  background:#fff!important;
  color:#0f172a!important;
  border-color:#d7e2ee!important;
  box-shadow:none!important;
}

/* Output */
.cnzt-output-head {
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:center;
}

.cnzt-output-head span {
  font-size:12px;
  background:#eaf2fb;
  color:#334155;
  border-radius:999px;
  padding:5px 9px;
  font-weight:900;
}

.cnzt-output {
  overflow:auto;
  background:#fff;
  border:1px solid #dbe4f0;
  border-radius:13px;
  padding:14px;
  line-height:1.65;
  color:#1f2937;
  box-sizing:border-box;
}

.cnzt-output ul {
  margin:8px 0 12px 20px;
}

.cnzt-output table {
  width:100%;
  border-collapse:collapse;
  font-size:14px;
}

.cnzt-output th,
.cnzt-output td {
  border-bottom:1px solid #e5ebf3;
  padding:10px;
  text-align:left;
  vertical-align:top;
}

.cnzt-output th {
  background:#f8fbff;
  color:#334155;
}

.cnzt-badge {
  display:inline-flex;
  border-radius:999px;
  padding:4px 8px;
  background:#eaf2fb;
  color:#334155;
  font-size:12px;
  font-weight:900;
  margin:2px;
}

.cnzt-score {
  font-size:32px;
  font-weight:950;
  color:#0f172a;
}

.cnzt-next-step {
  background:#f0fdf4;
  border:1px solid #bbf7d0;
  color:#166534;
  border-radius:14px;
  font-weight:800;
}

.cnzt-notice {
  background:#fff7ed;
  border:1px solid #fed7aa;
  border-radius:14px;
  padding:14px;
}

.cnzt-empty {
  color:#64748b;
}

.cnzt-code {
  white-space:pre-wrap;
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  background:#0f172a;
  color:#e5e7eb;
  border-radius:14px;
  padding:14px;
  overflow:auto;
}

.cnzt-metric-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}

.cnzt-metric {
  border:1px solid #e5ebf3;
  border-radius:14px;
  padding:12px;
  background:#fbfdff;
}

.cnzt-metric b {
  display:block;
  font-size:22px;
}

.cnzt-metric span {
  color:#64748b;
  font-size:13px;
}

/* Content components */
.cnzt-content {
  background:#fff;
  border:1px solid #dbe4f0;
  border-radius:18px;
  box-shadow:0 10px 24px rgba(15,23,42,.04);
}

.cnzt-content-section {
  padding:0;
}

.cnzt-content-section h2 {
  padding:0 0 0 14px!important;
  border-left:4px solid #0f172a!important;
  border-radius:0!important;
  background:transparent!important;
  color:#0f172a!important;
  font-size:22px!important;
  font-weight:850!important;
  line-height:1.25!important;
  letter-spacing:-.02em!important;
}

.cnzt-content-section p {
  color:#475569;
  line-height:1.75;
  font-size:15px;
}

/* Related tools */
.cnzt-related-grid {
  display:grid;
  gap:12px;
}

.cnzt-related-card {
  display:block;
  border:1px solid #dbe7f3;
  background:#f8fbff;
  border-radius:14px;
  padding:14px;
  text-decoration:none!important;
  color:#0f172a!important;
  transition:.16s ease;
}

.cnzt-related-card:hover {
  border-color:#bfccdc;
  background:#fff;
  transform:translateY(-1px);
}

.cnzt-related-card span {
  display:block;
  font-weight:900;
  font-size:14px;
}

.cnzt-related-card small {
  display:block;
  color:#64748b;
  margin-top:4px;
  font-size:12px;
}

/* FAQs */
.cnzt-faq-item {
  border:1px solid #e2e8f0;
  border-radius:12px;
  padding:12px 14px;
  background:#f8fafc;
  transition:.18s ease;
}

.cnzt-faq-item:hover {
  border-color:#bfccdc;
  background:#f8fbff;
}

.cnzt-faq-item summary {
  font-weight:900;
  cursor:pointer;
  color:#0f172a;
  list-style:none;
}

.cnzt-faq-item summary::-webkit-details-marker {
  display:none;
}

.cnzt-faq-item summary:after {
  content:'+';
  float:right;
  background:#e9f0f8;
  border-radius:999px;
  width:24px;
  height:24px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

.cnzt-faq-item[open] summary:after {
  content:'–';
}


/* Category and directory pages */
.cnzt-category-root,.cnzt-directory-root,.cnzt-category-links{box-sizing:border-box}.cnzt-category-hero{background:linear-gradient(135deg,#ffffff 0%,#f5f9ff 100%);border:1px solid var(--cnzt-border);border-radius:18px;box-shadow:0 10px 24px rgba(15,23,42,.04);padding:28px 34px;margin-bottom:20px}.cnzt-category-hero h1{margin:0 0 10px;font-size:clamp(32px,3vw,46px);line-height:1.08;color:#0f172a}.cnzt-category-hero p{max-width:980px;color:#475569;font-size:16px;line-height:1.6}.cnzt-category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:18px 0 26px}.cnzt-category-card{display:block;background:#fff;border:1px solid #dbe7f3;border-radius:16px;padding:18px;text-decoration:none!important;color:#0f172a!important;box-shadow:0 8px 18px rgba(15,23,42,.035);transition:.16s ease}.cnzt-category-card:hover{transform:translateY(-2px);border-color:#bfccdc}.cnzt-category-card-kicker{display:inline-flex;background:#eaf2fb;border:1px solid #dbe7f3;border-radius:999px;padding:5px 10px;font-size:11px;font-weight:900;text-transform:uppercase;margin-bottom:10px}.cnzt-category-card strong{display:block;font-size:18px;margin-bottom:8px}.cnzt-category-card p{color:#475569;font-size:14px;line-height:1.55;margin:0 0 12px}.cnzt-category-card em{font-style:normal;font-weight:900;color:#0f172a}@media(max-width:900px){.cnzt-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){.cnzt-category-grid{grid-template-columns:1fr}.cnzt-category-hero{padding:20px}}
