.va-tg-wrap{
  margin:1.25rem 0;
  padding:1rem;
  border:1px solid #e5e5ea;
  border-radius:8px;
  background:#fafafa;
}
.va-tg-title{ margin:0 0 .5rem 0; font-size:1.25rem; line-height:1.3; }
.va-tg-note{ margin:0; }

.va-tg-note{ margin:0.25rem 0; }
.va-tg-warn{ color:#7a2500; }

/* Forms */
.va-tg-fieldset{margin:1rem 0;padding:1rem;border:1px solid #eee;border-radius:8px;background:#fff}
.va-tg-fieldset>legend{font-weight:600;padding:0 .3rem}
.va-tg-field{margin:0 0 .9rem;}
.va-tg-label{font-weight:600;display:block;margin:0 0 .3rem}
.va-tg-input{width:100%;max-width:100%}
.va-tg-req{color:#d63638}
.va-tg-input-wrap{display:block;margin:0 0 .5rem}
.va-tg-static{display:inline-block;padding:.35rem .5rem;background:#f8f8fa;border:1px solid #eee;border-radius:6px}
.va-tg-repeat-controls .button{margin-right:.5rem}

/* Status banners */
.va-tg-banner.is-busy{padding:.75rem 1rem;border-left:4px solid #2271b1;background:#f0f6ff;border-radius:6px}
.va-tg-spin{display:inline-block;inline-size:12px;block-size:12px;border-radius:50%;border:2px solid #2271b1;border-right-color:transparent;animation:vaSpin .7s linear infinite;vertical-align:-2px;margin-left:6px}
@keyframes vaSpin{to{transform:rotate(360deg)}}

/* Alerts (reuse across admin/front) */
.va-tg-alert{padding:.75rem 1rem;border:1px solid #eee;border-left-width:4px;border-radius:6px;background:#fff}
.va-tg-alert--error{border-left-color:#d63638;background:#fff5f5}

/* Layout polish */
.va-tg-form{max-width:760px}
.va-tg-field{margin:0 0 1rem}
.va-tg-label{font-weight:600;margin:0 0 .35rem}
.va-tg-input{width:100%;padding:.5rem .6rem;border:1px solid #dfe2e6;border-radius:8px;background:#fff}
.va-tg-input:focus{outline:0;border-color:#7aa7e0;box-shadow:0 0 0 3px rgba(122,167,224,.25)}
.va-tg-input-wrap{display:flex;gap:.5rem;align-items:center}
.button.button-small{padding:.25rem .5rem;line-height:1.2}

/* Repeatables */
.va-tg-repeat-controls{margin:.35rem 0 0}
.va-tg-repeat-controls .button{margin-right:.5rem}
.va-tg-remove{margin-left:auto}

/* Static select display */
.va-tg-static{display:inline-block;padding:.4rem .6rem;background:#f8f9fb;border:1px solid #e6e9ee;border-radius:8px}

/* --- Trust Generator Wizard --- */
.va-tg-steps{margin-top:1.5rem;}
.va-tg-steps-indicator{
  list-style:none;
  margin:0 0 1rem;
  padding:0;
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
}
.va-tg-step-dot{
  display:flex;
  align-items:center;
  gap:.5rem;
  padding:.35rem .6rem;
  border-radius:999px;
  border:1px solid #d0d7e6;
  background:#f6f7fb;
  font-size:.85rem;
  color:#333;
  cursor:default;
}
.va-tg-step-dot .va-tg-step-index{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:22px;
  height:22px;
  border-radius:999px;
  background:#e2e7f8;
  font-weight:600;
  font-size:.85rem;
}
.va-tg-step-dot.is-active{
  border-color:#2271b1;
  background:#e4f2ff;
  color:#12395f;
}
.va-tg-step-dot.is-active .va-tg-step-index{
  background:#2271b1;
  color:#fff;
}
.va-tg-step-dot.is-complete{
  border-style:solid;
  border-color:#00a32a;
  background:#f1fff4;
}
.va-tg-step-dot.is-complete .va-tg-step-index{
  background:#00a32a;
  color:#fff;
}

/* Hide all steps by default when JS is active; show only active one */
.va-tg-steps--js .va-tg-step{display:none;}
.va-tg-steps--js .va-tg-step.is-active{display:block;}

.va-tg-step-nav{
  margin-top:1rem;
  display:flex;
  justify-content:space-between;
  gap:.75rem;
  flex-wrap:wrap;
}
.va-tg-step-nav .button-primary{
  margin-left:auto;
}

/* --- Trust Generator wizard --- */

/* Only the active step panel is visible */
.va-tg-step { display:none; }
.va-tg-step.is-active { display:block; }

/* Hide individual breadcrumb buttons (dots) until gate is passed.
   Let existing theme/plugin CSS handle how they look & layout. */
.va-tg-step-dot { display:none; }
.va-tg-steps.va-tg-steps--show-breadcrumbs .va-tg-step-dot {
  display:inline-flex;
}

/* -------------------------------------------------
 * Seal / Emblem upload – dropzone + preview
 * ------------------------------------------------- */

.va-tg-dropzone-wrapper{margin-top:.25rem;}

.va-tg-file-input-hidden{
  position:absolute;
  left:-9999px;
}

/* Drop area */
.va-tg-dropzone{
  border:2px dashed #d3d3e6;
  border-radius:12px;
  padding:1.25rem;
  text-align:center;
  cursor:pointer;
  background:#fafbff;
  transition:border-color .15s ease,background-color .15s ease;
}
.va-tg-dropzone:hover{
  border-color:#2271b1;
  background:#f5f8ff;
}
.va-tg-dropzone.is-dragover{
  border-color:#00a32a;
  background:#f0fff4;
}
.va-tg-dropzone-text{
  display:block;
  font-size:.9rem;
  color:#444;
}

/* Preview */
.va-tg-dropzone-preview{
  margin-top:.75rem;
  display:none;
  text-align:center;
}
.va-tg-dropzone-preview.has-image{display:block;}
.va-tg-dropzone-preview img{
  max-width:160px;
  max-height:160px;
  border-radius:8px;
  box-shadow:0 0 0 1px rgba(0,0,0,.05);
}
