/* Container + typography */
.pt-wrap, .pt-idea-wrap, .pt-ideas-wrap {
  max-width: 1100px;
  margin: 0 auto;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

/* Toggle button */
.pt-toggle {
  display: inline-block;
  padding: 8px 12px;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  background: #f9fafb;
  color: #374151;
  text-decoration: none;
  cursor: pointer;
  margin: 10px 0 16px;
}
.pt-toggle[aria-expanded="true"] { background: #e6f0ff; }
.pt-hidden { display: none; }
.pt-section { margin-bottom: 18px; }

/* Card style blocks (view + comments) */
.pt-card {
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.06);
  padding: 16px;
  margin: 12px 0;
}
.pt-title { font-size: 20px; font-weight: 700; margin: 0 0 4px; }
.pt-meta { font-size: 13px; color: #6b7280; margin-bottom: 10px; }
.pt-badge { display:inline-block; font-size:12px; background:#eef2f7; border-radius:999px; padding:3px 8px; margin-left:6px; }
.pt-muted { color:#6b7280; font-size: 13px; }

/* Table (ideas list) */
.pt-ideas-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 10px rgba(0,0,0,0.06);
  background: #fff;
  font-size: 15px;
}
.pt-ideas-table th {
  background: #f3f6fa;
  color: #111827;
  font-weight: 600;
  text-align: left;
  padding: 12px 14px;
  border-bottom: 2px solid #e5e7eb;
}
.pt-ideas-table td {
  padding: 12px 14px;
  border-bottom: 1px solid #e5e7eb;
  vertical-align: top;
}
.pt-ideas-table tbody tr:nth-child(even) { background: #fafbfc; }
.pt-cat-row td {
  background: #eef2f7;
  font-weight: 700;
  color: #1e293b;
  border-bottom: 1px solid #d1d5db;
}

/* Pager + buttons */
.pt-pager { display:flex; gap:8px; justify-content:center; margin:16px 0; }
.pt-pager a, .pt-pager span, .pt-btn {
  display:inline-block; padding:6px 12px; border:1px solid #d1d5db;
  border-radius: 8px; background:#f9fafb; color:#374151; text-decoration:none; transition: all .15s ease;
}
.pt-pager a:hover, .pt-btn:hover { background:#e2e8f0; }
.pt-pager .disabled { opacity:.5; cursor:default; }

/* Comments box with light-green background */
.pt-comments-box{
  max-height: 360px;
  overflow-y: auto;
  padding: 10px 12px 10px 16px;
  border-radius: 10px;
  background: #e8f6e8;            /* light green */
  scroll-behavior: smooth;
  box-shadow: inset 0 1px 3px rgba(0,0,0,0.06);
}
.pt-comment { border-top:1px solid #d8e8d8; padding-top:12px; margin-top:12px; }

/* Form fields (frontend) */
.pt-form { max-width: 820px; margin: 0 auto; }
.pt-form .pt-field { margin-bottom: 12px; }
.pt-form .pt-field > label { display:block; font-weight:600; margin-bottom:6px; }
.pt-form input[type="text"],
.pt-form input[type="email"],
.pt-form select,
.pt-form textarea {
  width: 100%;
  box-sizing: border-box;
  padding: 10px;
  border: 1px solid #d0d7de;
  border-radius: 8px;
}
.pt-form .wp-editor-wrap { max-width: 100%; }
.pt-row { display:flex; gap:12px; flex-wrap:wrap; }
.pt-col { flex:1 1 320px; }
.pt-submit { padding:10px 16px; border:0; border-radius:8px; cursor:pointer; background:#111827; color:#fff; }

/* Responsive */
@media (max-width: 768px) {
  .pt-hide-sm { display:none; }
  .pt-ideas-table th, .pt-ideas-table td { padding:8px 10px; font-size:14px; }
  .pt-ideas-table { border-radius: 8px; }
  .pt-form input[type="text"],
  .pt-form input[type="email"],
  .pt-form select,
  .pt-form textarea { width: 95%; }
}