.loyalty-message {
  font-size   : 16px;
  color       : var(--color-primary);
  grid-column : 2/4;
}

.product-line-grid-left {
  grid-row : 1/3;
}

.loyalty-message_guest {
  display : flex;
  gap     : 10px;
}

#cart .loyalty-message_guest .link-icon__text {
  color         : var(--color-primary);
  border-bottom : 1px solid var(--color-primary);
  transition    : all 0.3s ease-in-out;
}

#cart .loyalty-message_guest .link-icon__text:hover {
  color         : var(--color-tertiary);
  border-bottom : 1px solid var(--color-tertiary);
}

@media (min-width : 1200px) {
  .loyalty-message {
    margin    : 0 15px;
    max-width : calc(100% - 30px);
  }
}

@media (max-width : 1023px) {
  .loyalty-message {
    grid-column : auto
  }

}

.loyalty-history-title {
  font-size   : 22px;
  font-weight : 700;
  margin      : 40px 0 20px;
  text-align  : center;
}

.loyalty-history-table.table {
  margin-bottom : 0;
}

.block-promo.card-block {
  margin : 0;
}

.active-voucher-count {
  font-size     : 18px;
  margin-bottom : 10px;
}

.promo-name.card-block {
  max-height : 150px;
  overflow   : auto;
}


/************************
  Part - Loyalty gift
 ************************/

.cart-item.gift-item {
  background    : var(--color-grey-default);
  padding-left  : 1rem;
  border-radius : 10px;
}

.cart-item.gift-item .product-line-grid-left img {
  width : 50%;
}

.cart-item.gift-item .product-line-qty, .cart-panel__product.cart-panel__gift-product .cart-panel__product-cart-qty {
  padding       : 10px 20px;
  background    : var(--color-white-default);
  border-radius : 10px;
  border        : 1px solid #bfbfbf;
}

.cart-item.gift-item .product-line-grid-body.product-line-grid-element, .cart-item.gift-item .product-line-grid-right.product-line-actions {
  grid-row : 1/3;
}

@media (max-width : 1024px) {
  .cart-item.gift-item .product-line-grid-body.product-line-grid-element, .cart-item.gift-item .product-line-grid-right.product-line-actions {
    grid-row : initial;
  }
}

.cart-panel__product.cart-panel__gift-product {
  padding-top : 20px;
}


/**********************
Loyalty - cms
***********************/

.fidelity-banner {
  display               : grid;
  grid-template-columns : var(--container-primary-margin) 1fr 1.5fr var(--container-primary-margin);
  background            : var(--color-grey-default);
}

.fidelity-banner__visual picture {
  width           : 100%;
  display         : flex;
  align-items     : flex-end;
  justify-content : flex-end;
  height          : 100%;
}

.fidelity-banner__content {
  grid-column     : 2;
  grid-row        : 1;
  z-index         : 2;
  display         : flex;
  align-items     : flex-start;
  flex-direction  : column;
  justify-content : center;
  padding         : 30px 0;
}

.fidelity-banner__visual {
  grid-column : -1 / 1;
  grid-row    : 1;
}

.fidelity-banner__intro {
  color          : var(--color-secondary);
  font-size      : 20px;
  font-style     : normal;
  font-weight    : 700;
  line-height    : 150%;
  letter-spacing : 0.2px;
}

.fidelity-banner__headline {
  display        : flex;
  flex-direction : column;
  font-size      : 72px;
  font-style     : normal;
  font-weight    : 700;
  line-height    : 71px;
  text-transform : uppercase;
}

.fidelity-banner__headline--big {
  color : var(--color-secondary);
}

.fidelity-banner__headline--highlight, .fidelity-banner__text--red {
  color : var(--color-primary);
}

.fidelity-banner__text {
  font-size      : 18px;
  font-style     : normal;
  font-weight    : 400;
  line-height    : 150%;
  letter-spacing : 0.18px;
}

.fidelity-banner__cta {
  margin-top : 40px;
}

.fidelity-main-title {
  color       : var(--color-secondary);
  text-align  : center;
  font-size   : 36px;
  font-style  : normal;
  font-weight : 700;
  line-height : normal;
  margin      : 65px 0 40px;
}

.fidelity_offer-section {
  background : var(--color-grey-default);
}

.fidelity_offer-container.container-primary {
  display         : flex;
  align-items     : center;
  justify-content : space-between;
}

.fidelity_offer-right {
  display         : flex;
  justify-content : flex-end;
}

.fidelity_offer-left {
  padding : 60px 0 70px;
}

span.fidelity_offer-intro__title {
  color       : var(--color-secondary);
  font-size   : 36px;
  font-style  : normal;
  font-weight : 700;
  line-height : normal;
}

span.fidelity_offer-intro__text {
  color          : var(--color-secondary);
  font-size      : 24px;
  font-style     : normal;
  font-weight    : 400;
  line-height    : normal;
  letter-spacing : 0.48px;
}

span.fidelity_offer-intro__quantity {
  color          : var(--color-primary);
  font-size      : 24px;
  font-style     : normal;
  font-weight    : 900;
  line-height    : normal;
  letter-spacing : 0.48px;
}

span.fidelity_offer-intro__free {
  color          : var(--color-primary);
  font-size      : 24px;
  font-style     : normal;
  font-weight    : 900;
  line-height    : normal;
  letter-spacing : 0.48px;
}

.fidelity_offer-step {
  display         : flex;
  row-gap         : 35px;
  position        : relative;
  justify-items   : center;
  max-width       : 300px;
  flex-direction  : column;
  align-items     : center;
  justify-content : center;
}

.fidelity_offer-steps {
  display : flex;
  gap     : 5px;
}

.fidelity_offer-step__content {
  display        : flex;
  flex-direction : column;
}

.fidelity_offer-step__badge {
  display        : flex;
  flex-direction : column;
  align-items    : center;
  position       : absolute;
  top            : 0;
  right          : 0;
}

.fidelity_offer-intro {
  padding-bottom : 40px;
}

span.fidelity_offer-step__title {
  color          : var(--color-primary);
  text-align     : center;
  font-size      : 24px;
  font-style     : normal;
  font-weight    : 800;
  line-height    : normal;
  letter-spacing : 0.48px;
  text-transform : uppercase;
}

span.fidelity_offer-step__desc {
  color          : var(--color-secondary);
  text-align     : center;
  font-size      : 18px;
  font-style     : normal;
  font-weight    : 400;
  line-height    : normal;
  letter-spacing : 0.36px;
}

span.fidelity_offer-step__count {
  color           : var(--color-white-default);
  text-align      : center;
  font-size       : 24px;
  font-style      : normal;
  font-weight     : 800;
  line-height     : normal;
  letter-spacing  : 0.48px;
  background      : var(--color-primary);
  border-radius   : 50px;
  width           : 50px;
  height          : 50px;
  display         : flex;
  align-items     : center;
  justify-content : center;
}

span.fidelity_offer-step__label {
  color          : var(--color-primary);
  text-align     : center;
  font-size      : 14px;
  font-style     : normal;
  font-weight    : 900;
  line-height    : normal;
  letter-spacing : 0.28px;
  text-transform : uppercase;
}

span.fidelity_offer-step__equals {
  color           : var(--color-primary);
  font-size       : 80.571px;
  font-style      : normal;
  font-weight     : 600;
  line-height     : normal;
  letter-spacing  : 1.611px;
  display         : flex;
  align-items     : center;
  justify-content : center;
}

.fidelity_offer-step__image.--darken img {
  mix-blend-mode : darken;
}

.fidelity_offer-right img {
  width       : 80%;
  padding-top : 25px;
}

.fidelity_account-section.container-primary {
  display         : flex;
  align-items     : center;
  justify-content : space-between;
  gap             : 50px;
  padding-top     : 85px;
}

.fidelity_account-section__headline {
  color       : var(--color-secondary);
  font-size   : 36px;
  font-style  : normal;
  font-weight : 700;
  line-height : normal;
  width       : 50%;
}

.fidelity_account-section__content {
  display        : flex;
  flex-direction : column;
  gap            : 32px;
}

.fidelity_account-section__subheadline {
  color          : var(--color-secondary);
  font-size      : 18px;
  font-style     : normal;
  font-weight    : 400;
  line-height    : 150%; /* 27px */
  letter-spacing : 0.18px;
  width          : 75%;
}

.fidelity_account-benefit {
  display        : flex;
  padding        : 16px;
  flex-direction : column;
  align-items    : center;
  gap            : 12px;
  border-radius  : 16px;
  background     : var(--color-grey-default);
}

.fidelity_account-section__benefits {
  align-items           : flex-start;
  align-content         : flex-start;
  gap                   : 16px;
  align-self            : stretch;
  display               : grid;
  grid-template-columns : 1fr 1fr 1fr;
}

.fidelity_account-section__visual {
  width : 100%;
}

span.fidelity_account-benefit__title {
  color          : var(--color-primary);
  text-align     : center;
  font-size      : 24px;
  font-style     : normal;
  font-weight    : 800;
  line-height    : normal;
  letter-spacing : 0.48px;
  text-transform : capitalize;
}

span.fidelity_account-benefit__desc {
  color          : var(--color-secondary);
  text-align     : center;
  font-size      : 18px;
  font-style     : normal;
  font-weight    : 400;
  line-height    : normal;
  letter-spacing : 0.36px;
}

.fidelity_account-section__footer {
  display         : flex;
  justify-content : space-between;
  align-items     : flex-end;
  align-self      : stretch;
}

.fidelity_account-section__note {
  color          : rgba(12, 38, 70, 0.30);
  text-align     : center;
  font-size      : 16px;
  font-style     : normal;
  font-weight    : 400;
  line-height    : normal;
  letter-spacing : 0.32px;
}

@media (max-width : 767px) {
  .fidelity-banner {
    grid-template-columns : var(--container-primary-margin) 1fr var(--container-primary-margin);
  }

  .fidelity-banner__content {
    justify-content : flex-start;
    padding-top     : 35px;
  }

  .fidelity-banner__visual picture {
    justify-content : flex-end;
  }

  .fidelity-banner__intro {
    font-size : 13px;
  }

  .fidelity-banner__headline {
    font-size   : 49.79px;
    font-style  : normal;
    font-weight : 700;
    line-height : 49.098px;
  }

  .fidelity-banner__text {
    font-size      : 14px;
    letter-spacing : 0.14px;
  }

  .fidelity_offer-container.container-primary {
    display        : flex;
    flex-direction : column;
  }

  .fidelity_offer-steps {
    display        : flex;
    gap            : 30px;
    flex-direction : column;
    align-items    : center;
  }

  .fidelity_offer-right {
    justify-content : center;
  }

  .fidelity_offer-right img {
    width       : 50%;
    padding-top : 25px;
  }

  .fidelity_account-section.container-primary {
    flex-direction : column-reverse;
  }

  .fidelity_account-section__headline {
    width : 75%;
  }

  .fidelity_account-section__subheadline {
    width : 100%;
  }

  .fidelity_account-section__benefits {
    grid-template-columns : 1fr;
  }

  .fidelity_account-section__footer {
    display        : flex;
    flex-direction : column;
    gap            : 15px;
  }
}

@media (max-width : 500px) {
  .fidelity-banner__visual {
    padding-top : 80px;
  }
}
