/* NCVET Tea Training Plugin CSS */
/* All theme-level styles are in the theme.
   This file adds plugin-specific overrides. */

.ncvet-courses-grid,
.ncvet-steps,
.ncvet-form { width: 100%; }

/* Ensure shortcodes render properly inside page content */
.page-body .ncvet-courses-grid { margin-top: 0; }
.page-body .btn { display: inline-flex; }

/* Plugin form overrides for page context */
.ncvet-form .form-card { max-width: 680px; }
.checklist-page { max-width: 720px; margin: 0 auto; padding: 24px 0 40px; }

/* Panel full-bleed override — panels need to escape page padding */
body.page-template-default .panel-wrap {
  margin: -24px -24px 0;
}
@media (max-width: 640px) {
  body.page-template-default .panel-wrap { margin: -16px -16px 0; }
}

/* ── APPLY FORM: UPLOAD STATES ──────────────────────────────── */
@keyframes ncvet-spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
.ti-spin { display: inline-block; animation: ncvet-spin 0.9s linear infinite; }

.upload-box.uploading {
  border-style: solid;
  border-color: var(--blue);
  background: var(--blue-lt);
  color: var(--blue);
  cursor: wait;
}
.upload-box.error {
  border-style: solid;
  border-color: var(--red);
  background: var(--red-lt);
  color: var(--red);
}
.upload-error { line-height: 1.4; }

/* Course select shows fee inline */
#f-course option { padding: 4px; }

/* Review step spacing */
#review-summary .form-section-label:first-child { margin-top: 0; }

/* ── COURSE CARD: QUICK DEACTIVATE / ACTIVATE BUTTON ───────── */
.ncvet-ca-vis-btn {
  font-size: 11px;
  padding: 2px 10px;
  border-radius: 4px;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
  border: none;
  line-height: 1.6;
}
.btn-vis-deactivate {
  background: #fff3f3;
  color: #c0392b;
  border: 1px solid #e99;
}
.btn-vis-deactivate:hover:not(:disabled) {
  background: #ffe0e0;
  border-color: #c0392b;
}
.btn-vis-activate {
  background: #f0fff4;
  color: #1a7c3c;
  border: 1px solid #7ecb95;
}
.btn-vis-activate:hover:not(:disabled) {
  background: #d6f5e2;
  border-color: #1a7c3c;
}
.ncvet-ca-vis-btn:disabled {
  opacity: 0.55;
  cursor: wait;
}

/* ── UPLOAD BOX LAYOUT FIX ──────────────────────────────────── */
/* <label> defaults to inline in some resets — force block so the
   dashed border renders as a full clickable rectangle.           */
label.upload-box {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 120px !important;
  box-sizing: border-box !important;
  gap: 4px;
  cursor: pointer;
}
label.upload-box i { font-size: 28px !important; display: block !important; }
.upload-field { width: 100%; }
