/* Atlantic Image Defense — public bilingual file input controls v1.15.4.19.35.391
   Replaces browser-native file button labels only when JavaScript enhances the
   field. With JavaScript disabled, the original native input remains usable. */
body.aid-context-public input[type="file"].aid-public-file-input-native {
  position: absolute !important;
  inline-size: 1px !important;
  block-size: 1px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  opacity: 0 !important;
}

body.aid-context-public .aid-public-file-input-ui {
  display: flex !important;
  align-items: stretch !important;
  inline-size: 100% !important;
  max-inline-size: 100% !important;
  min-inline-size: 0 !important;
  margin-top: 14px !important;
  border: 1px solid rgba(188, 218, 231, .28) !important;
  border-radius: 14px !important;
  background: rgba(8, 16, 31, .62) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04) !important;
  overflow: hidden !important;
}

body.aid-context-public .aid-public-file-input-ui:focus-within,
body.aid-context-public .aid-public-file-input-ui.is-focused {
  border-color: rgba(24, 218, 212, .72) !important;
  box-shadow: 0 0 0 3px rgba(24, 218, 212, .12), inset 0 1px 0 rgba(255,255,255,.05) !important;
}

body.aid-context-public .aid-public-file-input-button {
  appearance: none !important;
  -webkit-appearance: none !important;
  flex: 0 0 auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 46px !important;
  padding: 0 18px !important;
  border: 0 !important;
  border-right: 1px solid rgba(255,255,255,.12) !important;
  border-radius: 0 !important;
  background: linear-gradient(135deg, #0a8790, #0cb2ac) !important;
  color: #fff !important;
  font: inherit !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  letter-spacing: .01em !important;
  line-height: 1.2 !important;
  text-align: center !important;
  white-space: nowrap !important;
  cursor: pointer !important;
}

body.aid-context-public .aid-public-file-input-button:hover,
body.aid-context-public .aid-public-file-input-button:focus-visible {
  background: linear-gradient(135deg, #0b98a1, #11c6be) !important;
  outline: 0 !important;
}

body.aid-context-public .aid-public-file-input-status {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  display: flex !important;
  align-items: center !important;
  min-height: 46px !important;
  padding: 0 16px !important;
  color: rgba(232, 241, 245, .78) !important;
  font-size: 13px !important;
  font-weight: 650 !important;
  line-height: 1.35 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

body.aid-context-public .aid-public-file-input-status.is-empty {
  color: rgba(232, 241, 245, .52) !important;
}

body.aid-context-public .aid-public-file-input-status:not(.is-empty) {
  color: #eaf7fb !important;
}

body.aid-context-public label.has-error .aid-public-file-input-ui,
body.aid-context-public .aid-public-file-input-ui.has-error {
  border-color: rgba(255, 104, 125, .7) !important;
  box-shadow: 0 0 0 3px rgba(255, 104, 125, .1) !important;
}

@media (max-width: 575.98px) {
  body.aid-context-public .aid-public-file-input-ui {
    flex-direction: column !important;
    border-radius: 13px !important;
  }
  body.aid-context-public .aid-public-file-input-button {
    width: 100% !important;
    min-height: 44px !important;
    border-right: 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.12) !important;
  }
  body.aid-context-public .aid-public-file-input-status {
    width: 100% !important;
    min-height: 42px !important;
    justify-content: center !important;
    text-align: center !important;
    white-space: normal !important;
  }
}
