body.checkout-page {
  padding-top: var(--checkout-header-height);
}

.checkout-header {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  line-height: 1.2;
  background: var(--grey-light);
  z-index: 1000;
  /* margin-right: var(--fancybox-scrollbar-compensate); */
}

.checkout-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: var(--checkout-header-height);
}

.checkout-header .btn {
  padding: 0 19px;
  column-gap: 10px;
}

.checkout-footer {
  border-top: 1px solid var(--grey-dark);
  line-height: 1.2;
  padding-top: var(--space-40-m30);
  padding-bottom: var(--space-40-m30);
  margin-top: var(--space-40-m30);
  font-size: 14px;
  line-height: 1.2;
  color: var(--black-50);
}

.checkout-footer__row {
  display: flex;
  margin-left: -10px;
  margin-right: -10px;
}

.checkout-footer__col {
  flex: 0 0 auto;
  width: 33.33%;
  padding-left: 10px;
  padding-right: 10px;
}

.checkout-footer a {
  color: inherit;
  text-decoration: none;
}

.checkout-footer a:hover {
  color: var(--red-main-color);
}

.checkout-layout {
  display: grid;
  grid-template-columns: 1fr 370px;
  grid-template-rows: auto 1fr;
  grid-template-areas: "main aside" "footer aside";
  column-gap: 60px;
  row-gap: 60px;
  margin-bottom: var(--space-40-m30);
}

.checkout-layout__main {
  grid-area: main;
  min-width: 1px;
  display: flex;
  flex-direction: column;
  row-gap: 30px;
}

.checkout-layout__aside {
  grid-area: aside;
  position: relative;
}

.checkout-layout__footer {
  grid-area: footer;
  min-width: 1px;
  display: flex;
  flex-direction: column;
  row-gap: 30px;
}

.checkout-cart-list {
  max-height: 250px;
  margin-right: -3px;
  padding-right: 12px;
}

.checkout-cart-list .item-row_sm .item-row__row,
.checkout-cart-list .item-row_sm .item-row__main {
  column-gap: 10px;
}

.checkout-cart-list .item-row_sm .item-row__image {
  width: 50px;
}

.checkout-cart-list .item-row_sm .item-row__meta {
  margin-bottom: 3px;
}

.checkout-cart-list .item-row_sm .item-row__sku {
  font-size: 10px;
}

.checkout-cart-list .item-row_sm .item-row__title {
  font-size: 12px;
}

.checkout-cart-list .item-row_sm .item-row__count-static {
  font-size: 10px;
}

.checkout-cart-list .item-row_sm .price-row__current {
  font-size: 12px;
  line-height: 14px;
}

.checkout-section-row {
  display: flex;
  column-gap: 10px;
}

.checkout-section-row > * {
  flex-basis: 0;
  flex-grow: 1;
  min-width: 1px;
}

.checkout-gy-60 {
  row-gap: 60px;
}

.checkout-delivery-options {
  display: flex;
  flex-wrap: wrap;
  column-gap: 10px;
}

.checkout-delivery-options > * {
  flex-basis: 0;
  flex-grow: 1;
  min-width: 1px;
}

.estimated-shipping-cost {
  background: var(--green-light);
  border-radius: 12px;
  padding: 20px 25px;
  display: flex;
  align-items: center;
  column-gap: 20px;
}

.estimated-shipping-cost__image {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 68px;
  height: 68px;
  position: relative;
}

.estimated-shipping-cost__image:not(.is-active) {
  display: none;
}

.estimated-shipping-cost__image img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
}

.estimated-shipping-cost__count {
  position: absolute;
  right: -13px;
  top: -5px;
  width: 25px;
  height: 25px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  line-height: 1;
  font-weight: bold;
  border: 2px solid #34c759;
  background: var(--white);
  box-shadow: var(--popup-shadow);
  border-radius: 50%;
}

.estimated-shipping-cost__main {
  flex-grow: 1;
  min-width: 1px;
  display: flex;
  align-items: center;
  column-gap: 20px;
}

.estimated-shipping-cost__content {
  flex-grow: 1;
  min-width: 1px;
  display: flex;
  flex-direction: column;
  row-gap: 6px;
}

.estimated-shipping-cost__footer {
  flex-shrink: 0;
}

.estimated-shipping-cost__btn {
  font-size: 12px;
  height: 34px;
  padding: 0 20px;
  border-radius: 8px;
}

.checkout-check-btn-list {
  flex-direction: row;
}

@media (max-width: 1399.98px) {
  .checkout-check-btn-list {
    flex-wrap: wrap;
  }

  .checkout-check-btn-list > * {
    flex-shrink: 0;
    flex-grow: 0;
    flex-basis: auto;
    width: calc(50% - 5px);
  }
}

@media (max-width: 767.98px) {
  .checkout-check-btn-list .form-check__image {
    display: none;
  }
}

@media (min-width: 768px) {
  .checkout-success-products {
    max-height: 174px;
    margin-right: -10px;
    padding-right: 10px;
  }

  .checkout-success-products.is-full-height {
    max-height: none;
    overflow: visible;
    margin: 0;
    padding: 0;
  }
}

@media (max-width: 1399.98px) {
  .checkout-layout {
    column-gap: 40px;
  }

  .checkout-aside__block {
    padding: 20px;
  }

  .checkout-gy-60 {
    row-gap: 40px;
  }

  .checkout-section-row {
    flex-direction: column;
    row-gap: 30px;
  }

  .checkout-delivery-options {
    flex-direction: column;
    row-gap: 40px;
  }
}

@media (max-width: 1199.98px) {
  .checkout-layout {
    grid-template-columns: 1fr 300px;
    column-gap: 40px;
  }
}

@media (min-width: 992px) {
  .checkout-cart-list-expand-btn {
    display: none;
  }
}

@media (max-width: 991.98px) {
  .checkout-layout {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto;
    grid-template-areas:
      "main"
      "aside"
      "footer";
    column-gap: 0;
    row-gap: 60px;
  }

  .checkout-aside {
    position: static !important;
    width: auto !important;
  }

  .checkout-aside + div:not([class]) {
    display: none !important;
  }

  .checkout-aside__block {
    padding: 0;
    background: none;
    box-shadow: none;
    border-radius: 0;
  }

  .checkout-cart-list-wrapper {
    display: flex;
    flex-direction: column;
    row-gap: 10px;
    position: relative;
  }

  .checkout-cart-list {
    max-height: 215px;
    margin-right: 0;
    padding-right: 0;
    overflow: hidden;
    position: relative;
  }

  .checkout-cart-list-wrapper.is-open .checkout-cart-list {
    max-height: none;
  }

  .checkout-cart-list-wrapper.has-expand:not(.is-open)
    .checkout-cart-list:after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 55px;
    pointer-events: none;
    background: linear-gradient(
      rgba(255, 255, 255, 0),
      rgba(255, 255, 255, 0.8)
    );
  }

  .checkout-cart-list-wrapper:not(.has-expand) .checkout-cart-list-expand-btn {
    display: none;
  }

  .checkout-cart-list-expand-btn {
    align-items: flex-start;
  }

  .checkout-cart-list-wrapper.is-open .checkout-cart-list-expand-btn > span {
    display: none;
  }

  .checkout-cart-list-wrapper.is-open .checkout-cart-list-expand-btn:before {
    content: attr(data-hide-text);
  }

  .checkout-cart-list-wrapper.is-open .checkout-cart-list-expand-btn .icon {
    transform: rotate(180deg);
  }

  .checkout-delivery-options {
    row-gap: 30px;
  }

  .estimated-shipping-cost {
    padding: 15px 25px;
  }
}

@media (max-width: 991.98px) and (min-width: 768px) {
  .checkout-cart-list .item-row_sm .item-row__image {
    width: 68px;
  }

  .checkout-cart-list .item-row_sm .item-row__title {
    font-size: 14px;
  }

  .checkout-cart-list .item-row_sm .price-row__current {
    font-size: 14px;
    line-height: 20px;
  }
}

@media (max-width: 767.98px) {
  body.checkout-page {
    padding-bottom: 0;
  }

  .checkout-footer__row {
    flex-direction: column;
    row-gap: 10px;
  }

  .checkout-footer__col {
    width: auto;
  }

  .checkout-gy-60 {
    row-gap: 30px;
  }

  .checkout-layout {
    background: var(--grey-light);
    margin: 0 calc(-1 * var(--container-space));
    row-gap: 10px;
    padding-top: 10px;
  }

  .checkout-layout__main,
  .checkout-section-row {
    row-gap: 10px;
  }

  .checkout-layout__aside,
  .checkout-layout__footer,
  .checkout-section {
    padding: 30px var(--container-space);
    background: var(--white);
    border-radius: 0;
    box-shadow: none;
  }

  .checkout-layout__footer {
    padding-bottom: 0;
  }

  .estimated-shipping-cost {
    padding: 15px 20px;
  }

  .estimated-shipping-cost__image {
    align-self: flex-start;
  }

  .estimated-shipping-cost__main {
    flex-direction: column;
    row-gap: 12px;
    align-items: flex-start;
  }

  .estimated-shipping-cost__text {
    display: none;
  }
}

@media (max-width: 399.98px) {
}
