/* Conjurly Testimonials intake/editor */
.cnjrly-testimonial-editor-wrap {
  margin: 1.5rem 0;
  padding: 1rem;
  border: 1px solid var(--cj-border-light, #e6e7eb);
  border-radius: var(--cj-radius-card, 14px);
  background: #fff;
}
.cnjrly-testimonial-editor-title { margin: 0 0 .45rem; }
.cnjrly-testimonial-editor-help { margin: 0 0 1rem; color: #5f6368; line-height: 1.5; }
.cnjrly-testimonial-locked { padding: .9rem 1rem; border-radius: 10px; background: #f7f7f8; }
.cnjrly-testimonial-locked p { margin: .35rem 0 0; }
.cnjrly-testimonial-editor-list { display: grid; gap: 12px; margin-bottom: 12px; }
.cnjrly-testimonial-editor-item {
  border: 1px solid var(--cj-border-light, #e6e7eb);
  border-radius: var(--cj-radius-card, 14px);
  background: #fff;
  overflow: hidden;
}
.cnjrly-testimonial-editor-item.is-dragging { opacity: .6; }
.cnjrly-testimonial-card-head {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 3rem;
  margin: 0;
  padding: .625rem .75rem;
  border-bottom: 1px solid var(--cj-border-light, #e6e7eb);
  background: #f7f7f8;
}
.cnjrly-testimonial-card-label { flex: 1; color: #4c187e; font-size: 1rem; font-weight: 600; }
.cnjrly-testimonial-drag,
.cnjrly-testimonial-delete {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.25rem;
  border: 1px solid var(--cj-border-light, #e6e7eb);
  border-radius: 8px;
  background: #f7f7f8;
  color: #3f3f46;
  padding: 5px 9px;
  cursor: pointer;
}
.cnjrly-testimonial-drag { width: 2.25rem; padding: 0; cursor: grab; }
.cnjrly-testimonial-delete { color: #7a1f1f; }
.cnjrly-testimonial-editor-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem 1.25rem;
  padding: 1rem;
}
.cnjrly-testimonial-editor-grid label { display: grid; gap: 5px; min-width: 0; font-weight: 500; line-height: 1.35; }
.cnjrly-testimonial-editor-grid input[type="text"],
.cnjrly-testimonial-editor-grid textarea {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  min-height: 2.75rem;
  padding: .625rem .75rem;
  border: 1px solid var(--cj-border-light, #e6e7eb);
  border-radius: var(--cj-radius-input, 10px);
  background: #fff;
  color: inherit;
  font: inherit;
  line-height: 1.35;
  box-shadow: none;
}
.cnjrly-testimonial-editor-grid textarea { min-height: 7rem; resize: vertical; }
.cnjrly-testimonial-editor-grid input[type="text"]:focus,
.cnjrly-testimonial-editor-grid textarea:focus {
  border-color: #4c187e;
  outline: 0;
  box-shadow: 0 0 0 .2rem rgba(76, 24, 126, .22);
}
.cnjrly-testimonial-full { grid-column: 1 / -1; }
.cnjrly-testimonial-enabled {
  display: flex !important;
  grid-template-columns: none !important;
  flex-direction: row;
  align-items: center;
  gap: .55rem !important;
  font-weight: 400 !important;
}
/* Use the shared Conjurly control color even when Bootstrap supplies the checkbox skin. */
form#geodirectory-add-post .cnjrly-testimonial-enabled input[type="checkbox"] {
  width: auto;
  margin: 0;
  accent-color: var(--cj-indigo, #4c187e);
}
form#geodirectory-add-post .cnjrly-testimonial-enabled input[type="checkbox"]:checked {
  background-color: var(--cj-indigo, #4c187e) !important;
  border-color: var(--cj-indigo, #4c187e) !important;
}
form#geodirectory-add-post .cnjrly-testimonial-enabled input[type="checkbox"]:focus-visible {
  outline: 2px solid var(--cj-indigo, #4c187e);
  outline-offset: 2px;
}
.cnjrly-optional,
.cnjrly-testimonial-char-count,
.cnjrly-testimonial-count { color: #6b7280; font-size: .85em; font-weight: 400; }
.cnjrly-testimonial-char-count { text-align: right; }
.cnjrly-testimonial-editor-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1rem; }
.cnjrly-testimonial-add { margin: 0; }

body.wp-admin .cnjrly-testimonial-editor-wrap {
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}
body.wp-admin .cnjrly-testimonial-editor-list { gap: 14px; margin-bottom: 14px; }
body.wp-admin .cnjrly-testimonial-editor-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }

/* GeoDirectory frontend: native section treatment. */
.geodir-add-listing.bsui .cnjrly-testimonial-editor-wrap {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  clear: both;
  margin: 2rem 0 1rem;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}
.geodir-add-listing.bsui .cnjrly-testimonial-editor-title { width: 100%; margin: 0 0 .5rem; padding: 0; }
.geodir-add-listing.bsui .cnjrly-testimonial-editor-help { margin: 0 0 1rem; }
.geodir-add-listing.bsui .cnjrly-testimonial-drag:hover,
.geodir-add-listing.bsui .cnjrly-testimonial-drag:active {
  border-color: #6f4697;
  background: rgba(76, 24, 126, .045);
  color: #6f4697;
}
.geodir-add-listing.bsui .cnjrly-testimonial-delete {
  border-color: #f0b8b8;
  background: #fceeee;
  color: #7a1f1f;
}
.geodir-add-listing.bsui .cnjrly-testimonial-delete:hover,
.geodir-add-listing.bsui .cnjrly-testimonial-delete:active {
  border-color: #7a1f1f;
  background: #7a1f1f;
  color: #fff;
}
.geodir-add-listing.bsui .cnjrly-testimonial-add {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: .72rem 1.25rem;
  border: 1px solid #4c187e;
  border-radius: var(--cj-radius-btn, 10px);
  background: #4c187e;
  color: #fff;
  font-size: .95rem;
  font-weight: 500;
  line-height: 1.15;
  text-decoration: none;
  box-shadow: none;
}
.geodir-add-listing.bsui .cnjrly-testimonial-add:hover,
.geodir-add-listing.bsui .cnjrly-testimonial-add:active {
  border-color: #6f4697;
  background: #6f4697;
  color: #fff;
}
.geodir-add-listing.bsui .cnjrly-testimonial-add:disabled { opacity: .55; cursor: not-allowed; }

@media (max-width: 700px) {
  .cnjrly-testimonial-editor-grid { grid-template-columns: 1fr; }
  .cnjrly-testimonial-full { grid-column: auto; }
}

/* 0.1.352: one-at-a-time testimonial editing with compact saved-item selector. */
.cnjrly-testimonial-editor-item[hidden] { display: none !important; }
.cnjrly-testimonial-chooser { display: flex; align-items: end; gap: 12px; flex-wrap: wrap; margin-bottom: 12px; }
.cnjrly-testimonial-chooser-label { display: grid; gap: 6px; flex: 1 1 280px; min-width: 0; color: #4c187e; font-size: 1rem; font-weight: 400; }
.cnjrly-testimonial-chooser-select { width: 100%; max-width: 100%; min-height: 42px; border: 1px solid #d4d4d8; border-radius: 8px; background: #fff; color: #333; padding: 8px 12px; }
/* Controls align to the center of the select box, not the baseline of its label. */
.cnjrly-testimonial-move-controls {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--cj-space-2, 8px);
  min-height: 42px;
}
/* UI Core owns the appearance of these .cj-btn controls. */
.cnjrly-testimonial-move-controls button:disabled { opacity: .45; cursor: not-allowed; }
.cnjrly-testimonial-card-label { color: #333; }
@media (max-width: 700px) { .cnjrly-testimonial-chooser { align-items: stretch; } }

/* UI Core v1 button sizing: scoped adapters replace the former one-off dimensions. */
.geodir-add-listing.bsui .cnjrly-testimonial-add.cj-btn,
.geodir-add-listing.bsui .cnjrly-testimonial-delete.cj-btn,
.geodir-add-listing.bsui .cnjrly-testimonial-move-controls button.cj-btn {
  box-sizing: border-box;
  height: var(--cj-btn-height);
  min-height: var(--cj-btn-height);
  padding: calc(var(--cj-btn-padding-y) + 2 * var(--cj-btn-optical-nudge, 0px)) var(--cj-btn-padding-x) var(--cj-btn-padding-y);
  border-radius: var(--cj-btn-radius);
  font-family: var(--cj-btn-font-family);
  font-size: var(--cj-btn-font-size);
  font-weight: var(--cj-btn-font-weight);
  line-height: var(--cj-btn-line-height);
}
.geodir-add-listing.bsui .cnjrly-testimonial-delete.cj-btn-sm,
.geodir-add-listing.bsui .cnjrly-testimonial-move-controls button.cj-btn-sm {
  height: var(--cj-btn-height-sm);
  min-height: var(--cj-btn-height-sm);
  padding: calc(var(--cj-btn-padding-y-sm) + 2 * var(--cj-btn-optical-nudge, 0px)) var(--cj-btn-padding-x-sm) var(--cj-btn-padding-y-sm);
  font-size: var(--cj-btn-font-size-sm);
  border-radius: var(--cj-btn-radius-sm, 8px);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.geodir-add-listing.bsui .cnjrly-testimonial-move-controls button.cj-btn-secondary {
  background: var(--cj-btn-secondary-bg);
  border-color: var(--cj-btn-secondary-border);
  color: var(--cj-btn-secondary-color);
}
.geodir-add-listing.bsui .cnjrly-testimonial-add.cj-btn-primary {
  background: var(--cj-btn-primary-bg);
  border-color: var(--cj-btn-primary-border);
  color: var(--cj-btn-primary-color);
}

/* 0.1.359: UI Core-owned hover variants, scoped to testimonial controls. */
.geodir-add-listing.bsui .cnjrly-testimonial-add.cj-btn-primary:is(:hover,:active):not(:disabled) {
  background: var(--cj-btn-primary-hover-bg) !important;
  border-color: var(--cj-btn-primary-hover-border) !important;
  color: var(--cj-btn-primary-hover-color) !important;
}
.geodir-add-listing.bsui .cnjrly-testimonial-move-controls button.cj-btn-secondary:is(:hover,:active):not(:disabled) {
  background: var(--cj-btn-secondary-hover-bg) !important;
  border-color: var(--cj-btn-secondary-hover-border) !important;
  color: var(--cj-btn-secondary-hover-color) !important;
}
/* Destructive controls intentionally retain separate danger-state semantics. */

/* 0.1.364: Selector and reorder buttons share one visually aligned control row.
   Retain UI Core's sizes/variants; this file owns only relative placement. */
.geodir-add-listing.bsui .cnjrly-testimonial-chooser {
  align-items: flex-end;
}
.geodir-add-listing.bsui .cnjrly-testimonial-move-controls {
  align-self: flex-end;
  min-height: 42px;
  align-items: center;
}
@media (max-width: 700px) {
  .geodir-add-listing.bsui .cnjrly-testimonial-chooser { align-items: stretch; }
  .geodir-add-listing.bsui .cnjrly-testimonial-move-controls {
    align-self: flex-start;
    min-height: var(--cj-btn-height-sm, 30px);
  }
}
