/* Contact sheet and owner editor (contact pass C1). Sheet shell classes come from css/product-page.css (pp-sheet-*). */

.ct-about {
  margin: 12px 0 0;
  font-size: 14px;
  font-weight: 600;
  color: var(--text);
  overflow-wrap: anywhere;
}

.ct-rows { display: flex; flex-direction: column; gap: 8px; margin: 12px 0 0; }

/* One tappable row: 56 px high (44 px is the minimum hit area), icon, label, value. */
.ct-row {
  display: flex;
  align-items: center;
  gap: 14px;
  box-sizing: border-box;
  width: 100%;
  min-height: 56px;
  padding: 8px 14px;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: var(--surface);
  color: var(--text);
  font: inherit;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
}

.ct-row:focus-visible { outline: 2px solid var(--brand-text); outline-offset: 2px; }
.ct-icon { flex: 0 0 22px; color: var(--brand-text); }
.ct-row-text { display: flex; flex-direction: column; min-width: 0; }
.ct-row-label { font-size: 16px; line-height: 20px; font-weight: 600; }
.ct-row-detail { font-size: 14px; line-height: 18px; color: var(--text-muted); overflow-wrap: anywhere; }

.ct-note { margin: 14px 0 16px; font-size: 13px; line-height: 20px; color: var(--text-muted); }

/* The report link keeps a 44 px hit area through its own min-height. */
.ct-report {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 0;
  border: none;
  background: none;
  font: inherit;
  font-size: 13px;
  text-align: left;
  color: var(--brand-text);
  text-decoration: underline;
  cursor: pointer;
}

/* ---------- Owner editor (#/catalogue/<storeId>) ---------- */
.ct-editor { margin: 16px 0; border: 1px solid var(--border); border-radius: 12px; background: var(--surface); }
.ct-editor-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-height: 48px;
  padding: 0 16px;
  border: none;
  background: none;
  color: var(--text);
  font: inherit;
  font-size: 16px;
  font-weight: 600;
  text-align: left;
  cursor: pointer;
}
.ct-editor-body { padding: 0 16px 16px; }
.ct-editor-body[hidden] { display: none; }
.ct-public-note { margin: 0 0 12px; font-size: 14px; font-weight: 600; color: var(--text); }
.ct-editor .suggest-field input,
.ct-editor .suggest-field select { font-size: 16px; min-height: 48px; }
.ct-check { display: flex; align-items: center; gap: 10px; min-height: 44px; font-size: 15px; }
.ct-check input { width: 22px; height: 22px; }
.ct-social { display: grid; grid-template-columns: minmax(0, 140px) minmax(0, 1fr); gap: 8px; }
.ct-error { margin: 4px 0 0; font-size: 14px; color: var(--danger, #b3261e); }
.ct-error:empty { display: none; }
.ct-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 12px; }
.ct-actions .btn { min-height: 44px; }
.ct-actions .ct-save { min-height: 48px; }
.ct-saved { margin: 8px 0 0; font-size: 14px; color: var(--text-muted); }

/* ---------- Admin clear ---------- */
.ct-admin-list { margin: 12px 0; padding: 0; list-style: none; }
.ct-admin-list li { padding: 8px 0; border-bottom: 1px solid var(--border); overflow-wrap: anywhere; font-size: 14px; }
.ct-actions [hidden] { display: none; }

/* ---------- Suggest contact details (places and markets, js/contacts-suggest.js) ---------- */
.ct-suggest .suggest-field input,
.ct-suggest .suggest-field select,
.ct-suggest .suggest-field textarea { font-size: 16px; min-height: 48px; }
.ct-suggest .suggest-field textarea { min-height: 96px; }
.ct-current-block { margin: 12px 0; }
.ct-current-title { margin: 0 0 6px; font-size: 14px; font-weight: 600; color: var(--text); }
.ct-current { margin: 0; padding: 0; list-style: none; font-size: 14px; color: var(--text-muted); overflow-wrap: anywhere; }
.ct-pending { margin: 16px 0; }
.ct-back-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; margin-top: 12px; }

/* ---------- Admin queue card for a contact suggestion (js/admin-queue.js) ---------- */
.ct-admin-table { width: 100%; border-collapse: collapse; margin: 8px 0; font-size: 14px; }
.ct-admin-table th, .ct-admin-table td { padding: 6px 8px; border-bottom: 1px solid var(--border); text-align: left; overflow-wrap: anywhere; vertical-align: top; }
.ct-admin-table th { font-weight: 600; color: var(--text-muted); }
.ct-admin-flag { margin: 8px 0; padding: 8px 10px; border-radius: 8px; background: var(--surface); border: 1px solid var(--border); font-size: 14px; }
.ct-admin-source { margin: 8px 0; font-size: 14px; overflow-wrap: anywhere; }
.ct-admin-guide { margin: 8px 0; font-size: 13px; color: var(--text-muted); }
.ct-admin-edit { margin-top: 16px; }
.ct-admin-edit .suggest-field input,
.ct-admin-edit .suggest-field select { font-size: 16px; min-height: 48px; }

.ct-admin-link { display: inline-flex; align-items: center; min-height: 44px; }

/* The Place and Market three-dot menus: every item is a 44 px tap target (the correction link was 37 px; the problem-report button already 44). */
.pl-menu .row-menu-dropdown a,
.mk-menu .row-menu-dropdown a { display: flex; align-items: center; min-height: 44px; box-sizing: border-box; }
