.company-card-kicker {
  display: block;
  color: #ed1c24;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.checkout-card__content > .company-card-kicker + h2 {
  margin: 7px 0 8px;
}

.checkout-card__content > .company-card-kicker + h2 + p {
  margin: 0;
  color: #676d76;
  font-size: 13px;
  line-height: 1.55;
}

.company-card-upload {
  position: relative;
  margin-top: 18px;
  border: 1px dashed #d8aeb0;
  border-radius: 18px;
  background: #fffafa;
  transition: border-color .18s ease, background-color .18s ease, box-shadow .18s ease;
}

.company-card-upload.is-dragging {
  border-color: #ed1c24;
  background: #fff2f2;
  box-shadow: 0 0 0 4px rgba(237, 28, 36, .08);
}

.company-card-upload.is-error {
  border-color: #c91920;
  background: #fff4f4;
}

.company-card-upload__input {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
}

.company-card-upload__empty,
.company-card-upload__selected {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  min-height: 108px;
  padding: 18px;
}

.company-card-upload__empty[hidden],
.company-card-upload__selected[hidden] {
  display: none !important;
}

.company-card-upload__icon {
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;
  border-radius: 14px;
  color: #ed1c24;
  background: #ffe5e6;
}

.company-card-upload__icon svg {
  width: 24px;
  height: 24px;
}

.company-card-upload__copy {
  min-width: 0;
}

.company-card-upload__copy strong,
.company-card-upload__copy span {
  display: block;
}

.company-card-upload__copy strong {
  overflow: hidden;
  color: #18181b;
  font-size: 14px;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.company-card-upload__copy span {
  margin-top: 5px;
  color: #74747b;
  font-size: 12px;
  line-height: 1.45;
}

.company-card-upload__button,
.company-card-upload__action {
  appearance: none;
  border: 0;
  font: inherit;
  cursor: pointer;
}

.company-card-upload__button {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  padding: 0 18px;
  border-radius: 12px;
  color: #fff;
  background: #17171a;
  font-size: 13px;
  font-weight: 700;
  transition: transform .16s ease, background-color .16s ease;
}

.company-card-upload__button:hover {
  background: #ed1c24;
  transform: translateY(-1px);
}

.company-card-upload__button:focus-visible,
.company-card-upload__action:focus-visible,
.company-invoice-promo__button:focus-visible {
  outline: 3px solid rgba(237, 28, 36, .28);
  outline-offset: 3px;
}

.company-card-upload__actions {
  display: flex;
  align-items: center;
  gap: 6px;
}

.company-card-upload__action {
  padding: 8px 10px;
  border-radius: 9px;
  color: #3e3e44;
  background: transparent;
  font-size: 12px;
  font-weight: 700;
}

.company-card-upload__action:hover {
  color: #ed1c24;
  background: #ffe8e9;
}

.company-card-upload__action--remove:hover {
  color: #fff;
  background: #c91920;
}

.company-card-status {
  min-height: 20px;
  margin: 9px 2px 0;
  color: #347549;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.45;
}

.company-card-status.is-error {
  color: #b5171d;
}

.company-card-skip {
  margin: 0;
  padding: 4px 0;
  border: 0;
  color: #555b65;
  background: transparent;
  font: 700 12px/1.4 'Onest', sans-serif;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}

.company-card-skip:hover {
  color: #b5171d;
}

.company-card-skip:focus-visible {
  outline: 3px solid rgba(237, 28, 36, .2);
  outline-offset: 3px;
  border-radius: 4px;
}

.company-card-skip[hidden] {
  display: none !important;
}

.company-card-privacy-hint {
  display: block;
  margin-top: 7px;
  color: #858a93;
  font-size: 10px;
  line-height: 1.5;
}

.company-invoice-promo {
  position: relative;
  isolation: isolate;
  margin-top: 20px;
  overflow: hidden;
  padding: 22px;
  border: 1px solid rgba(255, 255, 255, .11);
  border-radius: 20px;
  color: #fff;
  background:
    radial-gradient(circle at 100% 0, rgba(237, 28, 36, .34), transparent 44%),
    linear-gradient(145deg, #18181b 0%, #0e0e10 100%);
  box-shadow: 0 18px 38px rgba(16, 16, 18, .14);
}

.company-invoice-promo::after {
  position: absolute;
  z-index: -1;
  right: -38px;
  bottom: -50px;
  width: 150px;
  height: 150px;
  border: 1px solid rgba(255, 255, 255, .08);
  border-radius: 50%;
  content: '';
}

.company-invoice-promo h3 {
  margin: 0 0 8px;
  color: #fff;
  font-size: 20px;
  line-height: 1.15;
}

.company-invoice-promo > p:not(.company-card-status) {
  margin: 0;
  color: rgba(255, 255, 255, .7);
  font-size: 13px;
  line-height: 1.5;
}

.company-invoice-promo__button {
  width: 100%;
  appearance: none;
  display: grid;
  min-height: 58px;
  grid-template-columns: 40px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  margin-top: 14px;
  padding: 8px 9px;
  border: 1px dashed rgba(255, 255, 255, .3);
  border-radius: 13px;
  color: #fff;
  background: rgba(255, 255, 255, .075);
  text-align: left;
  cursor: pointer;
  transition: transform .16s ease, border-color .16s ease, background-color .16s ease;
}

.company-invoice-promo__button:hover {
  border-color: rgba(255, 74, 80, .9);
  background: rgba(255, 255, 255, .12);
  transform: translateY(-1px);
}

.company-invoice-promo__upload-icon {
  display: grid;
  width: 40px;
  height: 40px;
  place-items: center;
  border-radius: 12px;
  color: #ff4a50;
  background: rgba(237, 28, 36, .16);
}

.company-invoice-promo__upload-icon svg {
  width: 19px;
  height: 19px;
}

.company-invoice-promo__upload-copy {
  display: none;
  min-width: 0;
}

.company-invoice-promo__upload-copy strong,
.company-invoice-promo__upload-copy span {
  display: block;
}

.company-invoice-promo__upload-copy strong {
  overflow: hidden;
  font-size: 12px;
  font-weight: 750;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.company-invoice-promo__upload-copy span {
  margin-top: 3px;
  color: rgba(255, 255, 255, .56);
  font-size: 10px;
  line-height: 1.25;
}

.company-invoice-promo__upload-action {
  display: inline-flex;
  width: 100%;
  min-height: 40px;
  align-items: center;
  justify-content: center;
  padding: 0 16px;
  border-radius: 10px;
  color: #fff;
  background: #ed1c24;
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
}

.company-invoice-promo__button.is-busy,
.company-card-upload.is-busy {
  pointer-events: none;
  opacity: .9;
}

.company-invoice-promo__button.is-busy .company-invoice-promo__upload-icon svg,
.company-card-upload.is-busy .company-card-upload__icon svg {
  display: none !important;
}

.company-invoice-promo__button.is-busy .company-invoice-promo__upload-icon::after,
.company-card-upload.is-busy .company-card-upload__icon::after {
  content: '';
  width: 20px;
  height: 20px;
  border: 2.5px solid rgba(237, 28, 36, 0.25);
  border-top-color: #ed1c24;
  border-radius: 50%;
  animation: companyCardSpinnerSpin 0.75s linear infinite;
}

@keyframes companyCardSpinnerSpin {
  to {
    transform: rotate(360deg);
  }
}

.company-invoice-promo__button:disabled {
  cursor: wait;
}

.company-invoice-promo__hint {
  display: block;
  margin-top: 7px;
  color: rgba(255, 255, 255, .55);
  font-size: 10px;
  line-height: 1.45;
}

.company-invoice-promo .company-card-status {
  min-height: 0;
  margin: 10px 0 0;
  color: #8fe2aa;
}

.company-invoice-promo .company-card-status:empty {
  display: none;
}

.company-invoice-promo .company-card-status.is-error {
  color: #ff9fa3;
}

@media (max-width: 720px) {
  .company-card-upload__empty,
  .company-card-upload__selected {
    grid-template-columns: 42px minmax(0, 1fr);
    min-height: 0;
    padding: 15px;
  }

  .company-card-upload__icon {
    width: 42px;
    height: 42px;
    border-radius: 12px;
  }

  .company-card-upload__button,
  .company-card-upload__actions {
    grid-column: 1 / -1;
    width: 100%;
  }

  .company-card-upload__actions {
    justify-content: flex-end;
    border-top: 1px solid #eadfe0;
    padding-top: 10px;
  }

  .company-invoice-promo {
    margin-top: 16px;
    padding: 18px;
    border-radius: 18px;
  }

  .company-invoice-promo h3 {
    font-size: 18px;
  }

  .company-invoice-promo__button {
    grid-template-columns: 32px minmax(0, 1fr) auto;
    gap: 8px;
    padding: 8px;
  }

  .company-invoice-promo__upload-icon {
    width: 32px;
    height: 32px;
  }

  .company-invoice-promo__upload-copy {
    display: block;
  }

  .company-invoice-promo__upload-action {
    width: auto;
    min-height: 32px;
    padding: 0 9px;
    font-size: 10px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .company-card-upload,
  .company-card-upload__button,
  .company-invoice-promo__button {
    transition: none;
  }
}
