/* One border per field. Composite inputs keep their native divider and validation. */
#addons_js.v10-clientarea {
  --v10-field-border:#dbe3ef;
  --v10-field-focus:#246bfe;
}

/* Wrappers are not a second frame; Element UI paints the actual input. */
#addons_js.v10-clientarea :is(.el-input,.el-select,.el-textarea,.el-autocomplete,.el-cascader,.el-input-number) {
  border:0;
  border-radius:0 !important;
  outline:none !important;
  box-shadow:none !important;
}

#addons_js.v10-clientarea :is(.el-input__inner,.el-textarea__inner,.v10-auth-captcha-input,input:not([type]),input[type="text"],input[type="search"],input[type="email"],input[type="password"],input[type="tel"],input[type="url"],input[type="number"],textarea,select) {
  border:1px solid var(--v10-field-border);
  border-radius:0 !important;
  outline:none !important;
  box-shadow:none !important;
  transition:border-color .15s;
}

#addons_js.v10-clientarea :is(.el-input__inner,.el-textarea__inner,.v10-auth-captcha-input,input:not([type]),input[type="text"],input[type="search"],input[type="email"],input[type="password"],input[type="tel"],input[type="url"],input[type="number"],textarea,select):hover {
  border-color:#b8c5d8;
}

#addons_js.v10-clientarea :is(.el-input__inner,.el-textarea__inner,.v10-auth-captcha-input,input:not([type]),input[type="text"],input[type="search"],input[type="email"],input[type="password"],input[type="tel"],input[type="url"],input[type="number"],textarea,select):where(:focus,:focus-visible),
#addons_js.v10-clientarea .el-input:where(.is-focus) .el-input__inner,
#addons_js.v10-clientarea .el-cascader:where(:focus-within) .el-input__inner,
#addons_js.v10-clientarea .el-range-editor:where(.is-active,:focus-within) {
  border-color:var(--v10-field-focus) !important;
  outline:none !important;
  box-shadow:none !important;
}

/* Date ranges and searchable/multiple selects already have an outer input border. */
#addons_js.v10-clientarea :is(.el-date-editor .el-range-input,.el-select .el-select__input),
#addons_js.v10-clientarea :is(.el-input-group__prepend,.el-input-group__append) .el-input__inner {
  border:0;
  border-radius:0 !important;
  outline:none !important;
  box-shadow:none !important;
}

#addons_js.v10-clientarea :is(.el-input-group__prepend,.el-input-group__append) {
  border-radius:0 !important;
  border-color:var(--v10-field-border);
  outline:none !important;
  box-shadow:none !important;
}
#addons_js.v10-clientarea .el-input-group:where(:focus-within) > :is(.el-input__inner,.el-input-group__prepend,.el-input-group__append) {
  border-color:var(--v10-field-focus) !important;
}
#addons_js.v10-clientarea :is(.el-input-number__decrease,.el-input-number__increase) { border-radius:0 !important; }

/* A date range is one field. Inner inputs and the separator share its baseline. */
#addons_js.v10-clientarea .el-date-editor.el-range-editor {
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:0 10px;
  vertical-align:middle;
}
#addons_js.v10-clientarea .el-date-editor.el-range-editor .el-range-input {
  flex:1 1 0;
  width:0;
  min-width:0;
  height:100%;
  min-height:0;
  margin:0;
  padding:0;
  border:0 !important;
  outline:none !important;
  box-shadow:none !important;
  background:transparent;
  font:inherit;
  line-height:normal;
  text-align:center;
}
#addons_js.v10-clientarea .el-date-editor.el-range-editor .el-range-separator {
  flex:none;
  width:auto;
  min-width:26px;
  height:auto;
  padding:0 3px;
  font:inherit;
  line-height:20px;
  white-space:nowrap;
  text-align:center;
  color:#74849c;
}
#addons_js.v10-clientarea .el-date-editor.el-range-editor :is(.el-range__icon,.el-range__close-icon) {
  display:inline-flex;
  flex:none;
  align-items:center;
  justify-content:center;
  width:18px;
  height:100%;
  margin:0;
  line-height:1;
}

/* Keep invalid and disabled states distinguishable using the same single border. */
#addons_js.v10-clientarea .el-form-item.is-error :is(.el-input__inner,.el-textarea__inner),
#addons_js.v10-clientarea [aria-invalid="true"]:is(.el-input__inner,.el-textarea__inner,input,textarea,select) {
  border-color:#f56c6c !important;
}
#addons_js.v10-clientarea :is(.el-form-item.is-error .el-input-group__prepend,.el-form-item.is-error .el-input-group__append) {
  border-color:#f56c6c !important;
}
#addons_js.v10-clientarea :is(.el-input.is-disabled .el-input__inner,.el-textarea.is-disabled .el-textarea__inner,input:disabled,textarea:disabled,select:disabled) {
  border-color:#e4e7ed !important;
}

/* Header fields also belong to the shared cart shell, without changing cart content. */
#addons_js.v10-shell .v10-header-search :is(.el-autocomplete,.el-input) {
  border:0;
  border-radius:0 !important;
  outline:none !important;
  box-shadow:none !important;
}
#addons_js.v10-shell .v10-header-search .el-input__inner {
  box-sizing:border-box;
  border-width:1px;
  border-style:solid;
  border-radius:0 !important;
  outline:none !important;
  box-shadow:none !important;
  line-height:36px;
}
#addons_js.v10-shell .v10-header-search .el-input__inner:is(:focus,:focus-visible) {
  border-color:#246bfe;
  outline:none !important;
  box-shadow:none !important;
}
