/* Conjurly Magicians editor — first unified design-system implementation.
   Scoped to an explicitly identified Magicians form; no public profile styles.
   Uses UI Core tokens with fallbacks; preserves GD/Plupload behavior. */
form#geodirectory-add-post.cnjrly-magician-editor {
  --cj-form-major-gap: 45px;
  --cj-form-row-gap: 18px;
  --cj-form-sub-gap: 24px;
  --cj-form-border: var(--cj-border-light, #e6e7eb);
  --cj-form-surface: var(--cj-surface-subtle, #f7f7f8);
  --cj-form-ink: var(--cj-text-primary, #242424);
  --cj-form-muted: var(--cj-text-secondary, #62646a);
  --cj-form-control-radius: var(--cj-radius-input, 10px);
  --cj-form-card-radius: var(--cj-radius-card, 14px);
  --cj-form-button-radius: var(--cj-radius-btn, 10px);
}
/* Native GeoDirectory fieldsets own section structure and typography.
 * Use the existing single section-spacing token for their top separation;
 * leave the initial Enter Listing Details fieldset's position unchanged. */
form#geodirectory-add-post.cnjrly-magician-editor fieldset[data-rule-type="fieldset"][id^="geodir_fieldset_"]:not(#geodir_fieldset_details) {
  margin-top: var(--cj-form-major-gap);
}
/* Section hierarchy for Conjurly-created headings only.
 * Leave native GeoDirectory fieldset headings to GeoDirectory/theme defaults. */
form#geodirectory-add-post.cnjrly-magician-editor .cnjrly-form-major,
form#geodirectory-add-post.cnjrly-magician-editor .cnjrly-editor-section-heading,
form#geodirectory-add-post.cnjrly-magician-editor .cnjrly-testimonial-editor-title,
form#geodirectory-add-post.cnjrly-magician-editor fieldset.cnjrly-credits > legend.cnjrly-credits__title {
  display: block;
  width: 100%;
  font-family: var(--cj-heading-font-family, "IBM Plex Sans Condensed", sans-serif) !important;
  font-size: var(--cj-heading-h4-size, 20px) !important;
  line-height: var(--cj-heading-h4-line-height, 1.3) !important;
  font-weight: var(--cj-heading-font-weight, 500) !important;
  color: var(--cj-form-ink) !important;
  letter-spacing: var(--cj-heading-letter-spacing-tight, -.01em);
  margin: var(--cj-form-major-gap) 0 14px !important;
  padding: 0 !important;
}
form#geodirectory-add-post.cnjrly-magician-editor .cnjrly-form-sub,
form#geodirectory-add-post.cnjrly-magician-editor fieldset.cnjrly-credits .cnjrly-credits__group > h3 {
  font-family: var(--cj-heading-font-family, "IBM Plex Sans Condensed", sans-serif) !important;
  font-size: var(--cj-heading-h5-size, 18px) !important;
  line-height: var(--cj-heading-h5-line-height, 1.35) !important;
  font-weight: var(--cj-heading-font-weight, 500) !important;
  color: var(--cj-form-ink) !important;
  margin: 0 0 5px !important;
}
form#geodirectory-add-post.cnjrly-magician-editor .cnjrly-testimonial-editor-title { margin-top: var(--cj-form-major-gap) !important; }
/* Consistent label/description roles. Do not change grid column widths or
   custom components' markup: Bootstrap's col-sm-2/10 remain authoritative. */
form#geodirectory-add-post.cnjrly-magician-editor .geodir_form_row > label,
form#geodirectory-add-post.cnjrly-magician-editor .geodir_form_row > .col-form-label {
  font-family: var(--cj-font-sans, "IBM Plex Sans", sans-serif);
  font-size: .875rem !important;
  line-height: 1.45 !important;
  font-weight: 500 !important;
  color: var(--cj-form-ink) !important;
}
form#geodirectory-add-post.cnjrly-magician-editor .geodir_form_row { margin-bottom: var(--cj-form-row-gap); }
form#geodirectory-add-post.cnjrly-magician-editor .geodir_form_row small,
form#geodirectory-add-post.cnjrly-magician-editor .geodir_form_row .form-text,
form#geodirectory-add-post.cnjrly-magician-editor .cnjrly-credits__intro,
form#geodirectory-add-post.cnjrly-magician-editor .cnjrly-testimonial-editor-help {
  color: var(--cj-form-muted) !important;
  font-size: .8125rem !important;
  line-height: 1.5 !important;
}
/* Controls: preserve height, width and specialized dropdown internals. */
form#geodirectory-add-post.cnjrly-magician-editor input.form-control,
form#geodirectory-add-post.cnjrly-magician-editor textarea.form-control,
form#geodirectory-add-post.cnjrly-magician-editor select.form-control,
form#geodirectory-add-post.cnjrly-magician-editor select.form-select,
form#geodirectory-add-post.cnjrly-magician-editor .cnjrly-credits__search {
  border: 1px solid var(--cj-form-border);
  border-radius: var(--cj-form-control-radius);
}
form#geodirectory-add-post.cnjrly-magician-editor :is(input.form-control, textarea.form-control, select.form-control, select.form-select, .cnjrly-credits__search):focus-visible {
  outline: 2px solid var(--cj-indigo, #4c187e);
  outline-offset: 1px;
}
/* Consistent square checkboxes (radio buttons remain round). */
form#geodirectory-add-post.cnjrly-magician-editor input[type="checkbox"].form-check-input {
  width: 18px; height: 18px;
  border-radius: 4px !important;
  border: 1px solid var(--cj-border-light, #c8c9d0);
  accent-color: var(--cj-indigo, #4c187e);
}
form#geodirectory-add-post.cnjrly-magician-editor input[type="checkbox"].form-check-input:checked {
  background-color: var(--cj-indigo, #4c187e);
  border-color: var(--cj-indigo, #4c187e);
}
form#geodirectory-add-post.cnjrly-magician-editor input[type="checkbox"].form-check-input:focus-visible,
form#geodirectory-add-post.cnjrly-magician-editor input[type="radio"].form-check-input:focus-visible {
  outline: 2px solid var(--cj-indigo, #4c187e); outline-offset: 2px;
}
/* Preserve the existing agreed 3/2-column and single-column choices. */
form#geodirectory-add-post.cnjrly-magician-editor .cnjrly-choice-grid {
  background: var(--cj-form-surface) !important;
  border: 1px solid var(--cj-form-border) !important;
  border-radius: var(--cj-form-control-radius) !important;
  padding: 12px !important;
}
form#geodirectory-add-post.cnjrly-magician-editor .cnjrly-choice-grid--multi { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
form#geodirectory-add-post.cnjrly-magician-editor .cnjrly-choice-grid--single { grid-template-columns: minmax(0, 1fr) !important; }
/* Shared visual anatomy for credits and media; preserve native interactions. */
form#geodirectory-add-post.cnjrly-magician-editor .cnjrly-credits { margin: var(--cj-form-major-gap) 0 0; }
form#geodirectory-add-post.cnjrly-magician-editor fieldset.cnjrly-credits > legend.cnjrly-credits__title { margin-top: 0 !important; margin-bottom: 6px !important; }
form#geodirectory-add-post.cnjrly-magician-editor .cnjrly-credits__intro { margin-bottom: 16px; }
form#geodirectory-add-post.cnjrly-magician-editor .cnjrly-credits__group {
  border: 1px solid var(--cj-form-border);
  border-radius: var(--cj-form-card-radius);
  background: var(--cj-surface-primary, #fff);
  padding: 16px 18px;
  margin: 0 0 16px;
}
form#geodirectory-add-post.cnjrly-magician-editor .cnjrly-credits__group > p:not(.cnjrly-credits__count):not(.cnjrly-credits__link-hint) { color: var(--cj-form-muted); font-size: .8125rem; line-height: 1.5; }
/* Credit search prompts are field labels, not card headings. Match the editor label role. */
form#geodirectory-add-post.cnjrly-magician-editor .cnjrly-credits__group > label.cnjrly-credits__add-label { color: var(--cj-indigo, #4c187e) !important; font-family: var(--cj-font-sans, "IBM Plex Sans", sans-serif) !important; font-size: 1rem !important; line-height: 1.45 !important; font-weight: 400 !important; }
form#geodirectory-add-post.cnjrly-magician-editor .cnjrly-credits__suggestion { margin-top: 14px; border-top: 1px solid var(--cj-form-border); padding-top: 12px; }
form#geodirectory-add-post.cnjrly-magician-editor .cnjrly-credits__suggestion > summary {
  color: var(--cj-link, #4c187e) !important;
  font-family: var(--cj-font-sans, "IBM Plex Sans", sans-serif);
  font-size: .8125rem !important;
  font-weight: 500 !important;
  line-height: 1.5;
}
form#geodirectory-add-post.cnjrly-magician-editor .cnjrly-photo-upload-shell,
form#geodirectory-add-post.cnjrly-magician-editor .cnjrly-description-upload-shell {
  border: 1px solid var(--cj-form-border) !important;
  border-radius: var(--cj-form-card-radius) !important;
  background: var(--cj-form-surface) !important;
}
/* Native thumb actions have inline bottom:0/height:20px; give the icons a
   centered 30px strip and 3px breathing room below their glyphs. */
form#geodirectory-add-post.cnjrly-magician-editor .cnjrly-photo-upload-shell .gd-thumb-actions,
form#geodirectory-add-post.cnjrly-magician-editor #description_images_row .gd-thumb-actions {
  bottom: 0 !important; top: auto !important;
  height: 30px !important; min-height: 30px;
  display: flex !important; align-items: center !important;
  padding: 0 0 3px !important; box-sizing: border-box;
  border-radius: 0 0 8px 8px;
}
form#geodirectory-add-post.cnjrly-magician-editor .gd-thumb-actions > :is(a,span) {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 26px; line-height: 1;
}
/* Description editor's special action buttons should not collide with thumb. */
form#geodirectory-add-post.cnjrly-magician-editor #description_images_row .cnjrly-description-action {
  margin-top: 9px !important;
  border-radius: var(--cj-form-button-radius) !important;
}
/* Button variants: style only known primary actions, not drag handles, icon
   buttons, sortable chips, third-party editors or destructive controls. */
form#geodirectory-add-post.cnjrly-magician-editor :is(.cnjrly-credits__send, .cnjrly-photo-select-button, .cnjrly-credits__add-entry) {
  border-radius: var(--cj-form-button-radius) !important;
}
form#geodirectory-add-post.cnjrly-magician-editor :is(.cnjrly-credits__send, .cnjrly-photo-select-button):focus-visible,
form#geodirectory-add-post.cnjrly-magician-editor .cnjrly-credits__suggestion > summary:focus-visible {
  outline: 2px solid var(--cj-indigo, #4c187e); outline-offset: 3px;
}
@media (max-width: 767px) {
  form#geodirectory-add-post.cnjrly-magician-editor { --cj-form-row-gap: 16px; }
  /* GeoDirectory's .mb-3 fieldset spacing stacks with the native H3's own
     bottom margin on mobile. Keep the native heading style and reduce only
     that extra fieldset-to-first-field gap. */
  form#geodirectory-add-post.cnjrly-magician-editor fieldset[data-rule-type="fieldset"][id^="geodir_fieldset_"]:not(#geodir_fieldset_details) {
    margin-bottom: 0 !important;
  }
  form#geodirectory-add-post.cnjrly-magician-editor .cnjrly-choice-grid--multi { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  form#geodirectory-add-post.cnjrly-magician-editor .cnjrly-credits__group { padding: 13px; }
}

/* 0.1.343 — unified left-hand field label treatment. GD nests most labels
   inside Bootstrap columns, so the former direct-child rule missed them. */
.geodir-add-listing.bsui form#geodirectory-add-post.cnjrly-magician-editor .geodir_form_row > :is(.col-sm-2, .col-md-2, .col-form-label) > label,
.geodir-add-listing.bsui form#geodirectory-add-post.cnjrly-magician-editor .geodir_form_row > label,
.geodir-add-listing.bsui form#geodirectory-add-post.cnjrly-magician-editor .geodir_form_row > .col-sm-2.col-form-label {
  font-family: var(--cj-font-sans, "IBM Plex Sans", sans-serif) !important;
  font-size: 1rem !important;
  line-height: 1.45 !important;
  font-weight: 500 !important;
  color: var(--cj-form-ink) !important;
}
/* No inner scrolling in selectable input groups, regardless of how many
   options GeoDirectory generates. Does not affect textareas or dropdowns. */
.geodir-add-listing.bsui form#geodirectory-add-post.cnjrly-magician-editor :is(.cnjrly-choice-list, .cnjrly-choice-grid, .cnjrly-payment-choices) {
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  overflow-x: visible !important;
  overflow-y: visible !important;
  scrollbar-width: none !important;
}
.geodir-add-listing.bsui form#geodirectory-add-post.cnjrly-magician-editor .cnjrly-choice-list--scroll {
  max-height: none !important;
  overflow: visible !important;
}
.geodir-add-listing.bsui form#geodirectory-add-post.cnjrly-magician-editor .cnjrly-choice-list__hint { display: none !important; }
/* Preserve the 3-column desktop / 2-column mobile choices, even if the
   standard multiselect class is applied to the same node. */
.geodir-add-listing.bsui form#geodirectory-add-post.cnjrly-magician-editor .cnjrly-choice-grid--multi {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}
.geodir-add-listing.bsui form#geodirectory-add-post.cnjrly-magician-editor .cnjrly-choice-grid--single {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
}
@media (max-width: 767px) {
  .geodir-add-listing.bsui form#geodirectory-add-post.cnjrly-magician-editor .cnjrly-choice-grid--multi {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
/* Selected payment-logo preview must always be visible above choices. */
.geodir-add-listing.bsui form#geodirectory-add-post.cnjrly-magician-editor #payment_methods_accepted_row .cnjrly-payment-order {
  display: block !important;
  visibility: visible !important;
  overflow: visible !important;
  height: auto !important;
  max-height: none !important;
}
