/* FV-CMS-VENDORED v0.7.2 — DO NOT EDIT IN PLACE. Source: github.com/avidtech6/freshvibe-cms. To update, run: fvcms-update */
:root {
  --bg: #0b0d11; --panel: #14181f; --panel-2: #1a1f27;
  --border: #2a3038; --text: #e6e9ef; --text-mid: #b8bfca;
  --text-dim: #7a8290; --accent: #7cf0a0; --accent-2: #5fa8ff;
  --r-sm: 4px;
}

.fes-control-text {
  position: relative;
  width: 100%;
  max-width: 300px;
  height: 48px;
}

.fes-control-text input {
  width: 100%;
  height: 100%;
  padding: 12px 0 0 0; /* Top padding allows label to float over */
  font-size: 16px;
  background: transparent;
  border: none;
  border-bottom: 1px solid var(--border);
  color: var(--text);
  box-sizing: border-box;
  border-radius: 0;
  outline: none;
  transition: border-color 0.2s;
}

.fes-control-text input:focus {
  border-color: var(--accent-2);
}

.fes-control-text input:focus + label,
.fes-control-text input:not(:placeholder-shown) + label {
  transform: translateY(-1.5em) scale(0.85);
  color: var(--accent-2);
}

.fes-control-text input:not(:focus):not(:placeholder-shown) + label {
  /* Optional: Reset style if you want label to disappear completely if cleared, 
     but typically we want it pinned if it was floating */
}

.fes-control-text label {
  position: absolute;
  top: 12px;
  left: 0;
  pointer-events: none;
  font-size: 16px;
  color: var(--text-dim);
  transition: 0.2s ease all;
  background: var(--panel); /* Cover bottom border */
  padding-right: 5px;
  transform-origin: left top;
}

.fes-control-text label.floating {
  transform: translateY(-1.5em) scale(0.85);
  color: var(--accent-2);
}

/* Error State */
.fes-control-text input.error {
  border-bottom-color: #ff4d4d;
}
.fes-control-text input.error + label {
  color: #ff4d4d;
}