/* CUSTOM SELECT (c-select + shipselect) */
.select,
.c-select {
  position: relative;
}

.select select {
  width: 100%;
  min-width: 0;
}

.c-select:focus-within .c-select__btn {
  border-color: #CFE1FF;
  background: #fff;
}

.c-select__native,
.shipselect__native {
  position: absolute;
  inset: 0;
  opacity: 0;
  pointer-events: none;
}

.c-select__btn,
.shipselect__btn {
  width: 100%;
  height: 44px;
  padding: 0 12px;
  border: 1px solid var(--input-border-color, #D4DCE3);
  border-radius: 10px;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font: inherit;
  color: #0E2B44;
  cursor: pointer;
}

.c-select__btn:hover,
.shipselect__btn:hover {
  background: #fff;
}

.c-select__value,
.shipselect__value {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  font-size: 14px;
}

.c-select__chevron,
.shipselect__chevron {
  width: 24px;
  height: 24px;
  transition: transform .2s ease;
  opacity: .8;
  pointer-events: none;
}

.c-select[aria-open="true"] .c-select__chevron,
.shipselect__btn[aria-expanded="true"] .shipselect__chevron {
  transform: rotate(180deg);
}

.c-select__list,
.shipselect__list {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 6px);
  bottom: auto;
  background: #fff;
  border: 1px solid var(--input-border-color, #D4DCE3);
  border-radius: 10px;
  box-shadow: 0 10px 24px rgba(14, 43, 68, .12);
  max-height: 240px;
  overflow: auto;
  padding: 6px 0;
  margin: 0;
  list-style: none;
  display: none;
  z-index: 2100;
}

/* forced DOWN */
.c-select__list-top {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 6px);
  bottom: auto;
  background: #fff;
  border: 1px solid var(--input-border-color, #D4DCE3);
  border-radius: 10px;
  box-shadow: 0 10px 24px rgba(14, 43, 68, .12);
  max-height: 240px;
  overflow: auto;
  padding: 6px 0;
  margin: 0;
  list-style: none;
  display: none;
  z-index: 2100;
}

/* forced UP */
.c-select__list-bottom {
  position: absolute;
  left: 0;
  right: 0;
  top: auto;
  bottom: calc(100% + 6px);
  background: #fff;
  border: 1px solid var(--input-border-color, #D4DCE3);
  border-radius: 10px;
  box-shadow: 0 10px 24px rgba(14, 43, 68, .12);
  max-height: 240px;
  overflow: auto;
  padding: 6px 0;
  margin: 0;
  list-style: none;
  display: none;
  z-index: 2100;
}

.c-select[aria-open="true"] .c-select__list,
.c-select[aria-open="true"] .c-select__list-top,
.c-select[aria-open="true"] .c-select__list-bottom,
.shipselect[aria-open="true"] .shipselect__list {
  display: block;
}

.c-select__option,
.shipselect__option {
  padding: 10px 12px;
  cursor: pointer;
  line-height: 1.2;
  color: #0E2B44;
  display: block;
}

.c-select__option[aria-selected="true"],
.shipselect__option.is-selected {
  background: #EEF5FF;
}

.c-select__option:hover:not([aria-selected="true"]),
.c-select__option[aria-current="true"]:not([aria-selected="true"]),
.shipselect__option:hover:not(.is-selected) {
  background: #F6F8FA;
}

.updateAddress .c-select:not(.has-value) .c-select__value {
  color: #8AA3B9;
}

.updateAddress .c-select .c-select__option[aria-disabled="true"] {
  color: #8AA3B9;
}

.updateAddress .c-select__list.has-search,
.updateAddress .updateAddressCombo__list.has-search {
  padding-top: 0;
}

.updateAddress .c-select__search-row {
  position: sticky;
  top: 0;
  z-index: 1;
  padding: 8px 10px;
  margin-bottom: 6px;
  background: #fff;
  border-bottom: 1px solid #EAEFF4;
  list-style: none;
}

.updateAddress .c-select__search {
  width: 100%;
  height: 36px;
  box-sizing: border-box;
  padding: 0 10px;
  font: inherit;
  font-size: 14px;
  line-height: 1.4;
  color: #0E2B44;
  background: #F6F8FA;
  border: 1px solid #E5EAF0;
  border-radius: 8px;
}

.updateAddress .c-select__search:focus {
  background: #fff;
  border-color: #BFD5F1;
  box-shadow: 0 0 0 1px rgba(35, 131, 226, .25);
  outline: none;
}

.updateAddress .c-select__search::placeholder {
  color: #8AA3B9;
}

.updateAddress .c-select__empty {
  padding: 10px 12px;
  color: #8AA3B9;
  font-size: 14px;
  line-height: 1.2;
  list-style: none;
}

.updateAddress .c-select__option[hidden],
.updateAddress .c-select__empty[hidden] {
  display: none;
}

.updateAddressCombo {
  position: relative;
}

.updateAddressCombo__native {
  position: absolute;
  inset: 0;
  opacity: 0;
  pointer-events: none;
}

.updateAddressCombo__control {
  position: relative;
}

.updateAddressCombo__input {
  width: 100%;
  height: 48px;
  padding: 0 44px 0 16px;
  border: 1px solid #E5EAF0;
  border-radius: 10px;
  background: #fff;
  color: #16324F;
  font-size: 14px;
  outline: none;
}

.updateAddressCombo__input::placeholder {
  color: #8AA3B9;
}

.updateAddressCombo__input:focus {
  border-color: #CFE1FF;
}

.updateAddressCombo__toggle {
  position: absolute;
  top: 50%;
  right: 10px;
  width: 24px;
  height: 24px;
  padding: 0;
  border: 0;
  background: transparent;
  transform: translateY(-50%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.updateAddressCombo__toggle img {
  width: 24px;
  height: 24px;
  transition: transform .2s ease;
}

.updateAddressCombo.is-open .updateAddressCombo__toggle img {
  transform: rotate(180deg);
}

.updateAddressCombo__list {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  right: 0;
  max-height: 240px;
  margin: 0;
  padding: 6px 0;
  list-style: none;
  overflow: auto;
  background: #fff;
  border: 1px solid #E5EAF0;
  border-radius: 10px;
  box-shadow: 0 10px 24px rgba(14, 43, 68, .12);
  z-index: 2100;
}

.updateAddressCombo__option,
.updateAddressCombo__empty {
  padding: 10px 12px;
  font-size: 14px;
  line-height: 1.2;
}

.updateAddressCombo__option {
  color: #0E2B44;
  cursor: pointer;
}

.updateAddressCombo__option:hover {
  background: #F6F8FA;
}

.updateAddressCombo__empty {
  color: #8AA3B9;
}

.updateAddress {
  margin-bottom: 60px;
}

.updateAddress__card {
  max-width: 920px;
  margin: 0 auto;
  background: #FFFFFF;
  border: 1px solid #E5EAF0;
  border-radius: 16px;
  box-shadow: 0 8px 24px rgba(16, 41, 67, 0.06);
}

.updateAddress__head {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 24px 24px 0;
}

.updateAddress__head-icon {
  flex: 0 0 auto;
  width: 44px;
  height: 44px;
  border: 1px solid #0F8EFF;
  border-radius: 8px;
  background: #EBF5FF;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.updateAddress__head-content {
  min-width: 0;
}

.updateAddress__title {
  margin: 0 0 15px;
  color: #16324F;
  font-size: 24px;
  line-height: 1.2;
  font-weight: 400;
}

.updateAddress__text {
  margin: 0;
  max-width: 760px;
  color: #476176;
  font-size: 14px;
  line-height: 1.55;
  margin-bottom: 10px;
}

.updateAddress__divider {
  margin: 20px 24px 0;
  height: 1px;
  background: #E5EAF0;
}

.updateAddress__form {
  padding: 20px 24px 24px;
}

.updateAddress__grid {
  display: grid;
  gap: 24px;
}

.updateAddress__grid--1 {
  grid-template-columns: minmax(0, 1fr);
}

.updateAddress__grid--2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 16px;
}

.updateAddress__field {
  min-width: 0;
}

.updateAddress__field--email {
  max-width: 420px;
}

.updateAddress__label {
  display: block;
  margin-bottom: 8px;
  color: #0E2F4B;
  font-size: 14px;
  line-height: 1.4;
  font-weight: 400;
}

.updateAddress__muted {
  color: #97A4B3;
  font-weight: 400;
}

.updateAddress__hint {
  display: block;
  margin-top: 6px;
  color: #97A4B3;
  font-size: 12px;
  line-height: 1.4;
}

.updateAddress__input {
  width: 100%;
  height: 44px;
  padding: 0 16px;
  border: 1px solid #E5EAF0;
  border-radius: 10px;
  background: #FFFFFF;
  color: #16324F;
  font-size: 14px;
  outline: none;
  transition: border-color .2s ease, box-shadow .2s ease;
}

.updateAddress__input::placeholder {
  color: #A6B2BF;
}

.updateAddress__input:focus {
  border-color: #AFCDFE;
  box-shadow: 0 0 0 3px rgba(22, 131, 255, 0.10);
}

.updateAddress__section-divider {
  margin: 20px 0;
  height: 1px;
  background: #E5EAF0;
}

.updateAddress__upload {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 204px;
  padding: 28px 20px;
  border: 1px dashed #D7E2F0;
  border-radius: 12px;
  background: #F8FBFF;
  text-align: center;
  cursor: pointer;
}

.updateAddress__file {
  display: none;
}

.updateAddress__upload-icon {
  display: inline-flex;
  margin-bottom: 12px;
}

.updateAddress__upload-title {
  margin-bottom: 8px;
  color: #16324F;
  font-size: 15px;
  line-height: 1.45;
  font-weight: 500;
}

.updateAddress__upload-title span {
  color: #1683FF;
}

.updateAddress__upload-note,
.updateAddress__upload-size {
  color: #6C7B8A;
  font-size: 12px;
  line-height: 1.5;
}

.updateAddress__upload-files {
  margin-top: 12px;
  color: #16324F;
  font-size: 13px;
  line-height: 1.5;
  font-weight: 500;
}

.updateAddress__footer {
  display: flex;
  justify-content: flex-end;
  margin-top: 24px;
}

.updateAddress__submit {
  min-width: 140px;
  height: 44px;
  border-radius: 8px;
  border: 1px solid #E29500;
  background: #FB0;
  justify-content: center;
  font-weight: 700;
  font-size: 14px;
}

.updateAddress__submit:hover:not([disabled]) {
  background: #FFCF4D;
  border: 1px solid #E29500;
}

.updateAddress__field.is-invalid .updateAddress__input {
  border-color: #F31B1B;
}

.updateAddress__field.is-invalid .c-select__btn {
  border-color: #F31B1B;
}

.modal-content {
  border-radius: 8px;
}

.updateAddressModal__body {
  padding: 28px 32px 24px;
}

.updateAddressModal__top {
  display: flex;
  align-items: center;
  gap: 18px;
  margin-bottom: 18px;
}

.updateAddressModal__icon {
  flex: 0 0 auto;
  width: 40px;
  height: 40px;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.updateAddressModal__content {
  padding-left: 0;
}

.updateAddressModal__title {
  margin: 0;
  color: #16324F;
  font-size: 28px;
  line-height: 1.2;
  font-weight: 700;
}

.updateAddressModal__text {
  margin: 0 0 14px;
  color: #33485F;
  font-size: 15px;
  line-height: 1.55;
}

.updateAddressModal__text:last-child {
  margin-bottom: 0;
}

.updateAddressModal__footer {
  display: flex;
  justify-content: flex-end;
  padding: 20px 32px 28px;
  border-top: 1px solid #E5EAF0;
}

.updateAddressModal {
  position: fixed;
  inset: 0;
  z-index: 1200;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 16px;
}

.updateAddressModal.is-open {
  display: flex;
}

.updateAddressModal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(14, 30, 48, 0.45);
}

.updateAddressModal__dialog {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 760px;
  background: #FFFFFF;
  border-radius: 8px;
  border: 1px solid #E5EAF0;
  box-shadow: 0 20px 50px rgba(15, 40, 65, 0.16);
  overflow: hidden;
}

.updateAddressModal__close {
  position: absolute;
  top: 18px;
  right: 18px;
  width: 24px;
  height: 24px;
  padding: 0;
  border: 0;
  background: transparent;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 1000;
}

.updateAddressModal__icon {
  flex: 0 0 auto;
  width: 40px;
  height: 40px;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.updateAddressModal__icon--success {
  background: #EFFBEF;
  border: 1px solid #279225;
}

.updateAddressModal__icon--error {
  border-radius: 6px;
  border: 1px solid #FFB167;
  background: #FFF4EB;
}

.updateAddressModal__title {
  color: #16324F;
  font-size: 24px;
  line-height: 1.2;
  font-weight: 400;
}

.updateAddressModal__text {
  margin: 0 0 12px;
  color: #33485F;
  font-size: 15px;
  line-height: 1.55;
}

.updateAddressModal__text:last-child {
  margin-bottom: 0;
}

.updateAddressModal__text a,
.updateAddressModal__contact a {
  color: #1683FF;
  text-decoration: underline;
  font-size: 14px;
}

.updateAddressModal__contacts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  margin-top: 18px;
}

.updateAddressModal__contact {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.updateAddressModal__contact-label {
  color: #33485F;
  font-size: 14px;
  line-height: 1.4;
}

.updateAddressModal__footer {
  display: flex;
  justify-content: flex-end;
  padding: 24px;
  border-top: 1px solid #E5EAF0;
}

.updateAddressModal__action {
  min-width: 170px;
  height: 44px;
  border-radius: 8px;
  justify-content: center;
  border: 1px solid #E29500;
  background: #FB0;
  font-weight: 700;
  font-size: 14px;
}

.updateAddressModal__action:hover {
  background: #FFCF4D;
  border: 1px solid #E29500;
}

html.updateAddressModal-lock,
body.updateAddressModal-lock {
  overflow: hidden;
}

.updateAddressUpload {
  margin-top: 20px;
}

.updateAddressUpload__head {
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin-bottom: 14px;
}

.updateAddressUpload__title {
  color: #16324F;
  font-size: 16px;
  line-height: 1.4;
  font-weight: 500;
}

.updateAddressUpload__count {
  color: #6E7E90;
  font-size: 14px;
  line-height: 1.4;
}

.updateAddressUpload__alert {
  display: flex;
  gap: 10px;
  margin-bottom: 12px;
  padding: 12px 14px;
  border: 1px solid #FFB167;
  border-radius: 8px;
  background: #FFF4EB;
}

.updateAddressUpload__alert-icon {
  flex: 0 0 auto;
  display: inline-flex;
  margin-top: 1px;
}

.updateAddressUpload__alert-text {
  color: #16324F;
  font-size: 14px;
  line-height: 1.45;
}

.updateAddressNotice {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 24px;
  padding: 20px 24px;
  border: 1px solid #4DA3FF;
  border-radius: 16px;
  background: #EDF6FF;
  max-width: 920px;
  margin: 0 auto 24px auto;
}

.updateAddressNotice__icon {
  flex: 0 0 auto;
  width: 24px;
  height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.updateAddressNotice__icon img {
  display: block;
  width: 28px;
  height: 28px;
}

.updateAddressNotice__content {
  min-width: 0;
}

.updateAddressNotice__title {
  margin: 0 0 10px;
  color: #16324F;
  font-size: 18px;
  line-height: 1.2;
  font-weight: 700;
}

.updateAddressNotice__text {
  color: #16324F;
  font-size: 16px;
  line-height: 1.45;
  font-weight: 400;
}

@media (max-width: 767px) {
  .updateAddressNotice {
    padding: 16px;
    border-radius: 14px;
    gap: 12px;
  }

  .updateAddressNotice__title {
    font-size: 16px;
  }

  .updateAddressNotice__text {
    font-size: 14px;
  }
}

.updateAddressUpload__list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.updateAddressUploadItem {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 16px 48px 16px 16px;
  background: #FFFFFF;
  border: 1px solid #D9E1EA;
  border-radius: 12px;
  overflow: hidden;
}

.updateAddressUploadItem__icon {
  position: relative;
  flex: 0 0 auto;
  width: 28px;
  height: 28px;
}

.updateAddressUploadItem__icon svg {
  display: block;
  width: 100%;
  height: 100%;
}

.updateAddressUploadItem__ext {
  position: absolute;
  left: -5px;
  bottom: -2px;
  min-width: 15px;
  height: 14px;
  padding: 0 5px;
  border-radius: 3px;
  color: #FFFFFF;
  font-size: 9px;
  line-height: 14px;
  font-weight: 700;
  text-align: center;
  text-transform: uppercase;
  background: #16324F;
}

.updateAddressUploadItem__ext--default {
  background: #16324F;
}

.updateAddressUploadItem__ext--pdf {
  background: #D92D20;
}

.updateAddressUploadItem__ext--doc {
  background: #155EEF;
}

.updateAddressUploadItem__ext--txt {
  background: #344054;
}

.updateAddressUploadItem__ext--sheet {
  background: #099250;
}

.updateAddressUploadItem__ext--ppt {
  background: #E62E05;
}

.updateAddressUploadItem__ext--fig {
  background: #7F56D9;
}

.updateAddressUploadItem__ext--ai {
  background: #E04F16;
}

.updateAddressUploadItem__ext--psd {
  background: #155EEF;
}

.updateAddressUploadItem__ext--indd {
  background: #BA24D5;
}

.updateAddressUploadItem__ext--aep {
  background: #6938EF;
}

.updateAddressUploadItem__ext--audio {
  background: #DD2590;
}

.updateAddressUploadItem__ext--video {
  background: #155EEF;
}

.updateAddressUploadItem__ext--code {
  background: #155EEF;
}

.updateAddressUploadItem__ext--app {
  background: #444CE7;
}

.updateAddressUploadItem__content {
  min-width: 0;
  flex: 1 1 auto;
}

.updateAddressUploadItem__name {
  margin: 0 0 8px;
  color: #16324F;
  font-size: 14px;
  line-height: 1.4;
  font-weight: 500;
  word-break: break-word;
}

.updateAddressUploadItem__meta {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.updateAddressUploadItem__status {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 32px;
  padding: 0 12px;
  border-radius: 6px;
  font-size: 13px;
  line-height: 1.2;
  font-weight: 500;
}

.updateAddressUploadItem__status::before {
  content: "";
  width: 14px;
  height: 14px;
  flex: 0 0 auto;
  border-radius: 50%;
}

.updateAddressUploadItem__status--uploading {
  background: #EAF3FF;
  color: #16324F;
}

.updateAddressUploadItem__status--uploading::before {
  background: #1683FF;
}

.updateAddressUploadItem__status--success {
  background: #EFFBEF;
  color: #16324F;
}

.updateAddressUploadItem__status--success::before {
  background-image: url('/design/images/img-updateAddress/img-check.svg');
  width: 16px;
  height: 16px;
}

.updateAddressUploadItem__status--error {
  background: #FDEEEE;
  color: #16324F;
}

.updateAddressUploadItem__status--error::before {
  background: #EA3D3D;
}

.updateAddressUploadItem__progress-text {
  color: #6E7E90;
  font-size: 13px;
  line-height: 1.4;
}

.updateAddressUploadItem__remove {
  position: absolute;
  top: 16px;
  right: 14px;
  width: 24px;
  height: 24px;
  padding: 0;
  border: 0;
  background: transparent;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.updateAddressUploadItem__remove svg {
  width: 20px;
  height: 20px;
}

.updateAddressUploadItem__bar {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 3px;
  background: #E8EEF5;
}

.updateAddressUploadItem__bar-fill {
  height: 100%;
  width: 0;
  background: #1683FF;
  transition: width .2s ease;
}

.updateAddress__upload.is-disabled {
  opacity: .6;
  cursor: default;
}

.updateAddress__upload.is-disabled .updateAddress__upload-title span {
  color: #6E7E90;
}

.updateAddress__submit[disabled] {
  background: #E3E9F0 !important;
  border-color: #E3E9F0 !important;
  color: #9AA7B5 !important;
  cursor: not-allowed;
  box-shadow: none !important;
}

@media (max-width: 767px) {
  .updateAddressUploadItem {
    padding-right: 44px;
  }

  .updateAddressUploadItem__meta {
    align-items: flex-start;
    flex-direction: column;
    gap: 8px;
  }
}

@media (max-width: 991px) {
  .updateAddress__title {
    font-size: 26px;
  }

  .updateAddress__grid--2 {
    grid-template-columns: 1fr;
  }

  .updateAddressModal__head {
    padding: 20px;
  }

  .updateAddressModal__footer {
    padding: 20px;
  }

  .updateAddressModal__contacts {
    grid-template-columns: 1fr;
    gap: 14px;
  }
}

@media (max-width: 767px) {

  .updateAddress__card {
    border-radius: 14px;
  }

  .updateAddress__head {
    padding: 20px 16px 0;
  }

  .updateAddress__form {
    padding: 16px;
  }

  .updateAddress__divider {
    margin: 16px 16px 0;
  }

  .updateAddress__title {
    font-size: 22px;
  }

  .updateAddress__footer {
    justify-content: stretch;
  }

  .updateAddress__submit {
    width: 100%;
  }

  .updateAddressModal__title {
    font-size: 22px;
  }

  .updateAddressModal__footer {
    justify-content: stretch;
  }

  .updateAddressModal__action {
    width: 100%;
  }
}