/* Hard reset (scoped) to avoid theme/global styles breaking widget visuals */
.vm-efs-wrap, .vm-efs-wrap * { box-sizing: border-box; }
.vm-efs-wrap { color: #111111 !important; }
.vm-efs-wrap input, .vm-efs-wrap button, .vm-efs-wrap label, .vm-efs-wrap p, .vm-efs-wrap h3, .vm-efs-wrap span, .vm-efs-wrap strong, .vm-efs-wrap div {
  color: inherit;
}
.vm-efs-wrap .vm-efs-card, .vm-efs-wrap .vm-efs-toolbar, .vm-efs-wrap .vm-efs-selected-bar, .vm-efs-wrap .vm-efs-modal__panel, .vm-efs-wrap .vm-efs-share-view {
  background: #ffffff !important;
}
.vm-efs-wrap .vm-efs-fontname { color: #5f6368 !important; }
.vm-efs-wrap .vm-efs-sample-title { color: #0f172a !important; }
.vm-efs-wrap .vm-efs-sample-body { color: #111111 !important; }
.vm-efs-wrap .vm-efs-input {
  background: #ffffff !important;
  color: #111111 !important;
  border-color: rgba(0,0,0,.18) !important;
}
.vm-efs-wrap .vm-efs-input::placeholder { color: #8a8f98 !important; opacity: 1; }
.vm-efs-wrap .vm-efs-btn {
  background: #ffffff !important;
  color: #111111 !important;
  border-color: rgba(0,0,0,.18) !important;
}
.vm-efs-wrap .vm-efs-btn--primary {
  background: #111111 !important;
  color: #ffffff !important;
  border-color: #111111 !important;
}
.vm-efs-wrap .vm-efs-mini {
  background: #ffffff !important;
  color: #4b5563 !important;
  border-color: rgba(0,0,0,.15) !important;
}
.vm-efs-wrap .vm-efs-mini.is-active {
  background: #ce2f6a !important;
  color: #ffffff !important;
  border-color: #ce2f6a !important;
}
.vm-efs-wrap .vm-efs-badge {
  background: #f8fafc !important;
  color: #111111 !important;
}
.vm-efs-wrap .vm-efs-link { color: #0b57d0 !important; }

/* VM Elementor Font Showcase */
.vm-efs-wrap {
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  width: 100%;
}

.vm-efs-toolbar {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  padding: 14px 12px;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 14px;
  background: rgba(255,255,255,.7);
  backdrop-filter: blur(6px);
}

.vm-efs-toolbar__left {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  align-items: flex-end;
}

.vm-efs-toolbar__right {
  display: flex;
  gap: 10px;
  align-items: center;
}

.vm-efs-field {
  display: grid;
  gap: 6px;
  font-size: 13px;
  color: rgba(0,0,0,.75);
}

.vm-efs-input {
  width: 280px;
  max-width: 100%;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid rgba(0,0,0,.12);
  background: #fff;
  outline: none;
}

.vm-efs-input:focus {
  border-color: rgba(0,0,0,.28);
}

#vmEfsTitleSize {
  width: 220px;
}

.vm-efs-range-value {
  font-size: 12px;
  color: rgba(0,0,0,.65);
}

.vm-efs-btn {
  border: 1px solid rgba(0,0,0,.12);
  border-radius: 12px;
  padding: 10px 12px;
  background: #fff;
  cursor: pointer;
  font-weight: 600;
  font-size: 14px;
}

.vm-efs-btn--primary {
  background: #111;
  color: #fff;
  border-color: #111;
}

.vm-efs-btn--ghost {
  background: transparent;
}

.vm-efs-btn:hover {
  filter: brightness(0.98);
}

.vm-efs-selected-bar {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  padding: 12px 12px;
  margin-top: 12px;
  border: 1px dashed rgba(0,0,0,.18);
  border-radius: 14px;
}

.vm-efs-selected-item {
  display: flex;
  gap: 10px;
  align-items: center;
  font-size: 14px;
}

.vm-efs-link {
  border: none;
  background: transparent;
  cursor: pointer;
  color: #0b57d0;
  text-decoration: underline;
  padding: 0;
}

.vm-efs-grid {
  margin-top: 14px;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 12px;
}

.vm-efs-card {
  border: 1px solid rgba(0,0,0,.10);
  border-radius: 16px;
  padding: 14px 14px 12px 14px;
  background: #fff;
  position: relative;
  overflow: hidden;
}

.vm-efs-card__top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
}

.vm-efs-fontname {
  font-weight: 700;
  font-size: 14px;
  line-height: 1.2;
  margin: 0;
}

.vm-efs-actions {
  display: flex;
  gap: 6px;
  align-items: center;
}

.vm-efs-mini {
  font-size: 12px;
  padding: 6px 8px;
  border-radius: 10px;
  border: 1px solid rgba(0,0,0,.14);
  background: #fff;
  cursor: pointer;
}

.vm-efs-mini.is-active {
  background: rgba(0,0,0,.08);
}

.vm-efs-samples {
  margin-top: 12px;
  display: grid;
  gap: 10px;
}

.vm-efs-sample-title {
  margin: 0;
  line-height: 1.08;
  letter-spacing: -0.01em;
}

.vm-efs-sample-body {
  margin: 0;
  font-size: 16px;
  line-height: 1.35;
  color: rgba(0,0,0,.82);
}

.vm-efs-badges {
  margin-top: 10px;
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.vm-efs-badge {
  font-size: 12px;
  padding: 4px 8px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.12);
  background: rgba(0,0,0,.03);
}

.vm-efs-sentinel {
  height: 1px;
}

.vm-efs-modal {
  position: fixed;
  inset: 0;
  display: none;
  z-index: 999999;
}

.vm-efs-modal.is-open {
  display: block;
}

.vm-efs-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.5);
}

.vm-efs-modal__panel {
  position: absolute;
  right: 18px;
  left: 18px;
  top: 50%;
  transform: translateY(-50%);
  margin: 0 auto;
  max-width: 560px;
  width: calc(100% - 36px);
  background: #fff;
  border-radius: 18px;
  border: 1px solid rgba(0,0,0,.12);
  overflow: hidden;
}

.vm-efs-modal__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 16px;
  border-bottom: 1px solid rgba(0,0,0,.08);
}

.vm-efs-modal__header h3 {
  margin: 0;
  font-size: 16px;
}

.vm-efs-icon-btn {
  border: none;
  background: transparent;
  font-size: 18px;
  cursor: pointer;
}

.vm-efs-modal__body {
  padding: 14px 16px 16px 16px;
}

.vm-efs-summary {
  display: grid;
  gap: 6px;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px dashed rgba(0,0,0,.18);
  background: rgba(0,0,0,.02);
  margin-bottom: 12px;
}

.vm-efs-form-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 10px;
}

.vm-efs-hint {
  margin: 10px 0 0 0;
  font-size: 12px;
  color: rgba(0,0,0,.65);
}

.vm-efs-alert {
  margin-top: 10px;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid rgba(0,0,0,.12);
  background: rgba(0,0,0,.03);
  font-size: 13px;
}

.vm-efs-alert.is-error {
  border-color: rgba(200, 0, 0, .25);
  background: rgba(200, 0, 0, .06);
}

.vm-efs-alert.is-success {
  border-color: rgba(0, 150, 0, .25);
  background: rgba(0, 150, 0, .06);
}

.vm-efs-hp {
  position: absolute;
  left: -9999px;
  top: -9999px;
  height: 0;
  overflow: hidden;
}

.vm-efs-share {
  margin-top: 12px;
  border-top: 1px solid rgba(0,0,0,.08);
  padding-top: 10px;
}

.vm-efs-share-row {
  display: flex;
  gap: 8px;
  align-items: center;
}

.vm-efs-share-row .vm-efs-input {
  width: 100%;
}

.vm-efs-share-view {
  margin-top: 18px;
  padding: 14px 12px;
  border: 1px solid rgba(0,0,0,.10);
  border-radius: 14px;
  background: #fff;
}

@media (max-width: 520px) {
  .vm-efs-input { width: 100%; }
  #vmEfsTitleSize { width: 200px; }
  .vm-efs-share-row { flex-direction: column; align-items: stretch; }
}


/* ===== v1.2.0 minimal + forced colors ===== */
.vm-efs-wrap,
.vm-efs-wrap * {
  color: #111111;
}
.vm-efs-wrap .vm-efs-link {
  color: #111111 !important;
  text-decoration: none !important;
  border-bottom: 1px solid #d0d5dd;
  line-height: 1.2;
}
.vm-efs-wrap .vm-efs-link:hover,
.vm-efs-wrap .vm-efs-link:focus {
  color: #111111 !important;
  border-bottom-color: #111111;
  background: transparent !important;
}

.vm-efs-toolbar,
.vm-efs-selected-bar,
.vm-efs-card,
.vm-efs-modal__panel,
.vm-efs-summary,
.vm-efs-share-view {
  background: #ffffff !important;
  border-color: #e5e7eb !important;
  box-shadow: none !important;
}

.vm-efs-input {
  background: #ffffff !important;
  color: #111111 !important;
  border: 1px solid #d1d5db !important;
  border-radius: 10px !important;
  padding: 10px 12px !important;
}
.vm-efs-input::placeholder {
  color: #6b7280 !important;
  opacity: 1 !important;
}

.vm-efs-btn {
  background: #ffffff !important;
  color: #111111 !important;
  border: 1px solid #d1d5db !important;
  border-radius: 999px !important;
  padding: 8px 14px !important;
  min-height: 38px !important;
  font-size: 14px !important;
  font-weight: 500 !important;
}
.vm-efs-btn:hover,
.vm-efs-btn:focus {
  background: #f9fafb !important;
  color: #111111 !important;
  border-color: #9ca3af !important;
}
.vm-efs-btn--primary {
  background: #111111 !important;
  color: #ffffff !important;
  border-color: #111111 !important;
}
.vm-efs-btn--primary:hover,
.vm-efs-btn--primary:focus {
  background: #222222 !important;
  color: #ffffff !important;
  border-color: #222222 !important;
}
.vm-efs-btn--ghost {
  background: #ffffff !important;
  color: #111111 !important;
}

.vm-efs-mini {
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  padding: 0 !important;
  border-radius: 999px !important;
  border: 1px solid #d1d5db !important;
  background: #ffffff !important;
  color: #111111 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  font-size: 14px !important;
  font-weight: 500 !important;
}
.vm-efs-mini:hover,
.vm-efs-mini:focus {
  background: #f9fafb !important;
  border-color: #9ca3af !important;
  color: #111111 !important;
}
.vm-efs-mini.is-active {
  background: #111111 !important;
  color: #ffffff !important;
  border-color: #111111 !important;
}

.vm-efs-badge {
  background: #f3f4f6 !important;
  color: #111111 !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 999px !important;
  padding: 3px 8px !important;
}

.vm-efs-fontname,
.vm-efs-sample-title,
.vm-efs-sample-body,
.vm-efs-selected-item strong,
.vm-efs-selected-item span,
.vm-efs-summary strong,
.vm-efs-summary span,
.vm-efs-modal__header h3 {
  color: #111111 !important;
}

.vm-efs-sample-body {
  color: #374151 !important;
}

.vm-efs-alert.is-error {
  background: #fef2f2 !important;
  color: #991b1b !important;
  border-color: #fecaca !important;
}
.vm-efs-alert.is-success {
  background: #ecfdf5 !important;
  color: #065f46 !important;
  border-color: #a7f3d0 !important;
}


/* ===== v1.2.1 cleanup ===== */
.vm-efs-hint { display: none !important; }
.vm-efs-modal .vm-efs-link,
.vm-efs-modal .vm-efs-link:hover,
.vm-efs-modal .vm-efs-link:focus {
  color: #111111 !important;
  background: transparent !important;
}


/* ===== v1.2.2 fallback ===== */
.vm-efs-grid[aria-busy="true"],
.vm-efs-grid {
  min-height: 40px;
}
