.price-bar {
  width: 100%;
  padding: 12px 48px;
  background: var(--visage-color-dark-blue);
  font-size: var(--visage-text-size-5);
  line-height: var(--visage-text-size-5-line-height);
  color: #fff;
  box-shadow: var(--visage-depth-2-box-shadow)
}
.price-bar-inner {
  display: flex;
  justify-content: space-between;
  align-items: center
}
.price-bar-banner {
  display: flex
}
.price-bar-banner-segment {
  flex: 1;
  display: flex;
  align-items: center;
  padding-right: 40px
}
.price-bar-banner-segment:not(:first-of-type) {
  padding-left: 40px
}
.price-bar-banner-icon {
  margin-right: 16px
}
.price-bar-quantity {
  flex-grow: 9;
  display: flex;
  justify-content: flex-end;
  padding-right: 24px;
  text-align: right
}
.price-bar-quantity-label {
  align-self: center;
  padding-right: 12px;
  font-weight: bold
}
.price-bar-main {
  display: flex;
  text-align: right
}
.price-bar-price {
  display: inline-flex;
  font-size: var(--visage-text-size-3);
  font-weight: bold
}
.price-bar-price .price-bar-vat {
  opacity: 0.6;
  font-weight: normal
}
.price-bar-price .comparative-pricing {
  white-space: nowrap
}
.price-bar-price .comparative-pricing .list-price {
  font-size: var(--visage-text-size-5);
  line-height: var(--visage-text-size-5-line-height);
  font-weight: normal
}
.price-bar-price .comparative-pricing .discount-price {
  color: #fff
}
.price-bar-price-info {
  padding-left: 8px
}
.price-bar-vat {
  display: inline-block;
  margin-left: .6ch
}
.price-bar-main-info-details .pricing .discount-price {
  color: #fff
}
.price-bar-main-info-details .pricing .promo-code {
  font-weight: normal!important
}
.price-bar-coupon-callout {
  display: inline-block;
  margin-left: .6ch
}
.price-bar-main-link {
  display: block;
  width: 100%;
  padding: 0;
  margin: 0 0 4px 0;
  font-family: inherit;
  font-size: inherit;
  color: inherit;
  text-align: right;
  text-decoration: underline;
  background: none;
  border: none;
  cursor: pointer
}
.price-bar-main-info {
  position: relative
}
.price-bar-main-info-details {
  display: block;
  width: 100%
}
.price-bar-main-info-details .price-bar-main-link {
  position: relative;
  display: inline-block;
  width: auto;
  padding-left: 18px
}
.price-bar-main-info-details .price-bar-vat + .price-bar-main-link + .price-bar-coupon-callout::before {
  content: "";
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 6px;
  height: 3px;
  width: 3px;
  background: #fff;
  border-radius: 50%;
  transform: translateY(-50%)
}
.price-bar-button {
  flex-shrink: 0;
  align-self: center;
  margin-left: 12px
}
.price-bar-buttons {
  display: flex;
  align-items: center
}
.price-bar-buttons .stylized-select,
.price-bar-buttons .textbutton {
  margin-left: 16px
}
.price-bar-buttons .price-bar-button-label {
  padding-right: .5ch
}
.price-bar-buttons .price-bar-button-quantity-amount {
  font-weight: normal
}
.price-bar-buttons .textbutton.textbutton-skin-secondary {
  color: #000;
  background: #fff
}
@media only screen and (min-width: 1024px) {
  .price-bar-buttons .textbutton.textbutton-skin-primary {
    padding-left: 40px;
    padding-right: 40px
  }
}
.price-bar-buttons .textbutton.textbutton-skin-primary:hover {
  background-color: #fff;
  color: #0075c2
}
@media only screen and (min-width: 1024px) and (max-width: 1439px) {
  .price-bar:not(.price-bar-show-banner) .price-bar-banner-segment:not(:first-of-type) {
    display: none
  }
}
@media only screen and (max-width: 1023px) {
  .price-bar {
    padding: 16px
  }
  .price-bar-banner {
    display: none
  }
  .price-bar-quantity {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    padding-right: 24px
  }
  .price-bar-quantity-label {
    align-self: flex-start;
    text-align: left
  }
  .price-bar-main {
    justify-content: space-between;
    width: 100%;
    text-align: left
  }
  .price-bar-main-link {
    text-align: left
  }
  .price-bar-quantity + .price-bar-main {
    flex-grow: 9;
    display: inline-block;
    text-align: right
  }
  .price-bar-quantity + .price-bar-main .price-bar-main-link {
    display: inline-block;
    width: auto;
    text-align: right
  }
  .price-bar-quantity + .price-bar-main .price-bar-button {
    margin-left: 0;
    flex-grow: 1
  }
}
@media only screen and (max-width: 767px) {
  .price-bar-main {
    flex-direction: column
  }
  .price-bar-price-info {
    position: absolute;
    top: -4px;
    right: 0
  }
  .price-bar-price {
    font-size: var(--visage-text-size-5);
    line-height: var(--visage-text-size-5-line-height)
  }
  .price-bar-buttons {
    display: flex;
    justify-content: space-between;
    width: 100%;
    margin-top: 8px
  }
  .price-bar-buttons .textbutton:first-of-type {
    margin-left: 0
  }
  .price-bar-buttons .textbutton:last-of-type {
    margin-right: 0;
    flex-grow: 2
  }
  .price-bar-buttons .textbutton:only-child {
    width: 100%;
    margin-left: auto;
    margin-right: 0
  }
  .price-bar-buttons .stylized-select {
    margin-left: 0
  }
  .price-bar-buttons .stylized-select + .textbutton {
    margin-left: 16px
  }
  .price-bar-button {
    flex-basis: 50%;
    width: 100%;
    max-width: 300px
  }
}
.price-bar.price-bar-show-banner {
  color: var(--visage-font-base-color);
  background: var(--visage-color-light-grey)
}
.price-bar.price-bar-show-banner .price-bar-banner {
  justify-content: space-between;
  width: 100%
}
@media only screen and (max-width: 1023px) {
  .price-bar.price-bar-show-banner {
    padding: 8px 16px
  }
  .price-bar.price-bar-show-banner .price-bar-banner {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap
  }
  .price-bar.price-bar-show-banner .price-bar-banner-segment {
    padding-top: 12px;
    padding-bottom: 12px
  }
  .price-bar.price-bar-show-banner .price-bar-main {
    display: none
  }
}