/**************
HEADER
**************/
.cart-header {
  width: 100%;
  background-image: url('../assets/img/3875550.jpg');
  background-position: center 20%;
  background-size: cover;
  padding-top: 25vh;
  padding-bottom: 15vh;
  color: #fff;
  position: relative;
  text-align: center;
}
.cart-header::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: '';
  width: 100%;
  height: 100%;
  background: linear-gradient(
    rgba(0, 0, 0, 0.7),
    rgba(0, 0, 0, 0.6) 50%,
    rgba(0, 0, 0, 0.5) 70%,
    rgba(0, 0, 0, 0.3) 80%,
    rgba(0, 0, 0, 0.1) 90%,
    rgba(0, 0, 0, 0.05)
  );
}
.cart-header__title {
  font-size: 1.6em;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  font-weight: 300;
  position: relative;
  z-index: 100;
}
.cart-header__subtitle {
  font-size: 2em;
  font-weight: 700;
  position: relative;
  z-index: 100;
}

/************** 
CART
**************/
.cart {
  padding: 10vh 0;
  width: 50vw;
  margin: 0 auto;
}
/*********************
CART HEAD & EMPTY CART
*********************/
.cart__title {
  font-size: 2em;
  font-weight: 700;
  width: max-content;
  margin: 0 auto;
  margin-bottom: 5vh;
}
.cart__order-head {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 8vh;
}
.cart__order-head > .cart__title {
  margin: 0;
  margin-right: 2vw;
}
.cart__big-cart,
.cart__order-head__count {
  width: max-content;
  position: relative;
}
.cart__big-cart {
  margin: 0 auto;
  margin-bottom: 5vh;
}
.cart__order-head__count > img {
  width: 3vw;
  height: auto;
}
.cart__big-cart > img {
  width: 8vw;
  height: auto;
}
.cart__order-head__count > span,
.cart__big-cart > span {
  background-color: #d29723;
  color: #fff;
  border-radius: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  font-weight: 500;
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
  top: 0;
  right: 0;
}
.cart__order-head__count > span {
  width: 1.5vw;
  height: 1.5vw;
  font-size: 0.9em;
}
.cart__big-cart > span {
  width: 3vw;
  height: 3vw;
  font-size: 1.7em;
}
.cart__empty__text {
  text-align: center;
  font-weight: 700;
  font-size: 1.4em;
  margin-bottom: 1vh;
}
.cart__empty__subtext {
  width: 30vw;
  margin: 0 auto;
  text-align: center;
  font-weight: 500;
  font-size: 1.2em;
  margin-bottom: 8vh;
}
/************** 
CART STEPS
**************/
.cart__steps {
  width: 100%;
  display: grid;
  grid-template-columns: 7vw 7vw 7vw;
  justify-content: space-between;
  margin-bottom: 8vh;
  position: relative;
}
.cart__steps::after {
  width: 47vw;
  height: 1px;
  background-color: #d29723;
  content: '';
  left: 1.5vw;
  top: 2vw;
  transform: translateY(-50%);
  position: absolute;
}
.cart__step {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  z-index: 100;
}
.cart__step__number {
  width: 4vw;
  height: 4vw;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #fff;
  color: #d29723;
  border: 1px solid #d29723;
  border-radius: 100%;
  font-size: 2.5em;
  font-weight: 700;
  margin-bottom: 5vh;
  position: relative;
  z-index: 100;
}
.cart__step__name {
  width: max-content;
  font-size: 1.2em;
  font-weight: 700;
  position: relative;
  z-index: 100;
}
.cart__step--selected > .cart__step__number {
  background-color: #d29723;
  color: #fff;
}
.cart__step--selected::after {
  height: 3px;
  background-color: #d29723;
  border-radius: 2rem;
  content: '';
  top: 2vw;
  position: absolute;
  transform: translateY(-50%);
}
.cart__step--selected[data-step='1']::after {
  width: calc(47vw / 4);
  left: 1.5vw;
}
.cart__step--selected[data-step='2']::after {
  width: calc(47vw / 2);
  left: 50%;
  transform: translate3d(-50%, -50%, 0);
}
.cart__step--selected[data-step='3']::after {
  width: calc(47vw / 4);
  right: 1.5vw;
}
/************** 
CART BODY
**************/
/************** 
STEP 0 - RESUME
**************/
.cart__order-resume {
  width: 35vw;
  border-radius: 0.25rem;
  overflow: hidden;
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
  margin: 0 auto;
  margin-bottom: 8vh;
}
.cart__order-resume_head {
  display: grid;
  grid-template-columns: 4fr 1fr;
  background-color: #d29723;
  color: #fff;
  padding: 1vh 1vw;
  font-size: 1.2em;
  font-weight: 300;
}
.cart__order-resume_row {
  display: grid;
  grid-template-columns: 4fr 1fr;
  column-gap: 1vw;
  background-color: #fff;
  padding: 2vh 1vw;
  font-size: 1.2em;
  font-weight: 700;
  overflow: hidden;
}
.cart__order-resume_row form {
  width: 100%;
  overflow: hidden;
}
.cart__order-resume_row p {
  width: 100%;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}
.cart__order-resume_row p a {
  color: inherit;
}
.cart__order-resume_row p a:hover {
  text-decoration: underline;
}
.cart__order-resume_row:nth-child(odd) {
  background-color: #f6f6f6;
}
.cart__order-resume_row:last-child {
  font-size: 1.3em;
}
.cart__order-resume__total-col {
  color: #d29723;
  position: relative;
}
.cart__order-resume__total-col p {
  transition: transform 200ms ease, opacity 200ms ease, visibility 200ms ease;
}
.cart__order-resume__buttons {
  border-radius: 2rem;
  border: 1px solid #d29723;
  overflow: hidden;
  display: flex;
  align-items: center;
  width: max-content;
  height: max-content;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(0);
  opacity: 0;
  visibility: hidden;
  transition: transform 200ms ease, opacity 200ms ease, visibility 200ms ease;
}
.cart__order-resume__button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.5vw;
  height: 2.5vh;
  font-size: 0.9em;
  font-weight: 700;
  font-family: inherit;
  color: #d29723;
  background-color: transparent;
  cursor: pointer;
  border: none;
}
.cart__order-resume__button:hover {
  color: #fff;
  background-color: #d29723;
}
.cart__order-resume__button[data-action='minus'] {
  border-right: 1px solid #d29723;
}
.cart__order-resume__button[data-action='plus'] {
  border-left: 1px solid #d29723;
}
.cart__order-resume__button:focus,
.cart__order-resume__button:active {
  outline: none;
}
.cart__order-resume_row:hover .cart__order-resume__buttons {
  transform: translateY(-50%);
  opacity: 1;
  visibility: visible;
}
.cart__order-resume_row:hover .cart__order-resume__total-col p {
  opacity: 0;
  visibility: hidden;
}
/************** 
CART INPUT
**************/
.cart__input {
  width: 100%;
  height: max-content;
  background-color: #fff;
  font-family: inherit;
  font-size: 1.1em;
  color: #111;
  border: 1px solid #c7c7c7;
  padding: 1vh 0.5vw;
  border-radius: 0.25rem;
  margin-bottom: 2vh;
  line-height: 1.5;
}
.cart__input--reduced {
  width: 50%;
}
.cart__input::placeholder {
  color: #a4a4a4;
}
.cart__select {
  width: max-content;
  height: max-content;
  position: relative;
}
.cart__select select {
  width: max-content;
  height: max-content;
  background-color: #fff;
  font-family: inherit;
  font-size: 1.1em;
  color: #111;
  border: 1px solid #c7c7c7;
  padding: 1vh 0.5vw;
  padding-right: 1.5vw;
  border-radius: 0.25rem;
  line-height: 1.5;
}
.cart__select img {
  width: 0.5vw;
  height: auto;
  position: absolute;
  right: 0.5vw;
  top: 50%;
  transform: translateY(-50%);
}
.cart__input:focus,
.cart__select select:focus {
  outline: none;
  border: 1px solid #d29723;
}
.cart__input-group {
  width: 100%;
  margin-bottom: 1vh;
}
.cart__input-group label {
  width: 100%;
  display: block;
  margin-bottom: 1vh;
  font-size: 0.9em;
  font-weight: 500;
}
.cart__two-input-groups {
  display: grid;
  grid-template-columns: max-content max-content;
  column-gap: 2vw;
}
.cart__two-inputs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 1vw;
  margin-bottom: 2vh;
}
.cart__select-and-two-inputs {
  display: grid;
  grid-template-columns: max-content 1fr 1fr;
  column-gap: 1vw;
  margin-bottom: 2vh;
}
.cart__multi-inputs {
  display: grid;
  column-gap: 0.5vw;
}
.cart__multi-inputs--2 {
  grid-template-columns: 4em 4em;
}
.cart__multi-inputs--4 {
  grid-template-columns: 4em 4em 4em 4em;
}
.cart__multi-inputs--7 {
  grid-template-columns: repeat(7, 4em);
}
.cart__two-inputs .cart__input,
.cart__select-and-two-inputs .cart__input,
.cart__credit-card-inputs .cart__input {
  margin-bottom: 0vh;
}
/*********************
STEP 1 - REGISTRATION
*********************/
.cart__registration {
  width: 44vw;
  margin: 0 auto;
  margin-bottom: 10vh;
  background-color: #fff;
  border-radius: 0.25rem;
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
  padding: 4vh 2vw;
  padding-bottom: 5vh;
  position: relative;
}
.cart__registration__overlay {
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.8);
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 50;
  border-radius: 0.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.cart__registration__overlay p {
  font-size: 1.4em;
  font-weight: 500;
  width: max-content;
  max-width: 60%;
  text-align: center;
  position: relative;
  z-index: 150;
  color: #fff;
}
p.cart__registration__explanations,
ul.cart__registration__explanations {
  font-size: 1.1em;
  font-weight: 500;
  width: 44vw;
  margin: 0 auto;
}
ul.cart__registration__explanations {
  list-style: initial;
}
ul.cart__registration__explanations li {
  margin-left: 2vw;
}
.cart__registration__block {
  width: max-content;
  display: flex;
  align-items: center;
}
.cart__registration__block--head {
  width: 100%;
  margin-bottom: 2vh;
  justify-content: space-between;
  align-items: start;
}
.cart__registration__block img {
  width: 2.5vw;
  height: auto;
}
.cart__registration__block p {
  font-size: 1.3em;
  font-weight: 500;
}
.cart__registration__dropdown {
  border-bottom: 1px solid #111;
  margin: 4vh 0;
  padding-bottom: 1vh;
}
.cart__registration__dropdown__toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
  padding-right: 0.5vw;
}
.cart__registration__dropdown__toggle p {
  font-size: 1.3em;
  font-weight: 500;
}
.cart__registration__dropdown__toggle img {
  width: 1vw;
  height: auto;
}
.cart__registration__dropdown[data-dropdown='close'] img[data-arrow='close'],
.cart__registration__dropdown[data-dropdown='open'] img[data-arrow='open'],
.cart__registration__dropdown[data-dropdown='open']
  .cart__registration__dropdown__body {
  display: block;
}
.cart__registration__dropdown[data-dropdown='close'] img[data-arrow='open'],
.cart__registration__dropdown[data-dropdown='open'] img[data-arrow='close'],
.cart__registration__dropdown[data-dropdown='close']
  .cart__registration__dropdown__body {
  display: none;
}
.cart__registration__name {
  width: max-content;
  max-width: 60%;
  text-align: left;
}
.cart__registration__name h2 {
  font-size: 1.6em;
  font-weight: 700;
}
.cart__registration__name p {
  font-size: 1.3em;
  font-weight: 500;
}
.cart__registration__details {
  font-size: 1.3em;
  font-weight: 500;
  width: 100%;
  margin-bottom: 3vh;
}
.cart__registration__price {
  width: max-content;
  max-width: 35%;
  text-align: right;
}
.cart__registration__price p {
  font-size: 1.1em;
  font-weight: 700;
  color: #d29723;
}
.cart__registration__price p span {
  color: #111;
}
.cart__registration__price p small {
  font-size: 0.9em;
  font-weight: 500;
}
.cart__registration__subtitle {
  font-size: 1.2em;
  margin-top: 4vh;
  margin-bottom: 1vh;
  color: #d29723;
  font-weight: 500;
}
.cart__registration__sessions {
  width: max-content;
  height: max-content;
  position: relative;
}
.cart__registration__sessions select {
  width: max-content;
  height: max-content;
  background-color: #fff;
  font-family: inherit;
  font-size: 1.1em;
  color: #111;
  border: 1px solid #c7c7c7;
  padding: 1vh 0.5vw;
  padding-right: 1.5vw;
  border-radius: 0.25rem;
  display: block;
  line-height: 1.5;
}
.cart__registration__sessions img {
  width: 0.5vw;
  height: auto;
  position: absolute;
  right: 0.5vw;
  top: 50%;
  transform: translateY(-50%);
}
.cart__registration__sessions select:focus {
  outline: none;
  border: 1px solid #d29723;
}
.cart__registration__remotely {
  display: grid;
  align-items: center;
  grid-template-columns: max-content max-content max-content;
  column-gap: 1vw;
}
.cart__registration__remotely__item {
  height: max-content;
  font-size: 1.1em;
  text-transform: uppercase;
  padding: 1vh 0.5vw;
  border-radius: 0.25rem;
  border: 1px solid #d29723;
  color: #d29723;
}
.cart__registration__remotely__item[data-choice='selected'] {
  color: #fff;
  background-color: #d29723;
}
.cart__registration__remotely__item[data-choice='disable'] {
  border: 1px solid #f5f5f5;
  color: #dfdfdf;
  background-color: #f5f5f5;
}
.cart__registration__form {
  width: 100%;
}
.cart__link--registration {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translate3d(-50%, -50%, 0);
  padding: 2vh 2vw !important;
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;
  z-index: 100;
}
.cart__link--registration:hover {
  transform: translate3d(-50%, -60%, 0) !important;
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.25) !important;
}
.cart__link--registration:active,
.cart__link--registration:focus {
  transform: translate3d(-50%, -55%, 0) !important;
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.2) !important;
  outline: none;
}
/*****************
STEP 2 - PAYMENT
*****************/
.cart__payment-method {
  width: 44vw;
  margin: 0 auto;
  background-color: #fff;
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
}
.cart__payment-method__container {
  width: 100%;
  border-radius: 0.5rem;
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
  border-bottom-left-radius: 0.5rem;
  border-bottom-right-radius: 0.5rem;
}
.cart__payment-method__title {
  width: 100%;
  margin: 0 auto;
  margin-bottom: 4vh;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  animation: fadeInInput 300ms ease forwards;
}
.cart__payment-method__title h2 {
  font-size: 1.4em;
  font-weight: 700;
  margin-right: 1vw;
}
.cart__payment-method__title img {
  width: 3vw;
  height: auto;
}
.cart__payment-method__form {
  width: 100%;
  padding: 6vh 5vw;
  background-color: #fff;
  z-index: 100;
  position: relative;
  border-bottom-left-radius: 0.5rem;
  border-bottom-right-radius: 0.5rem;
}
.cart__payment-method__form > form {
  opacity: 0;
  animation: fadeInInput 300ms ease forwards;
}
@keyframes fadeInInput {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.cart__payment-method__header {
  width: 100%;
  display: grid;
  /* grid-template-columns: 1fr 1fr 1fr 1fr; */
  grid-template-columns: 1fr 1fr 1fr;
}
.cart__payment-method__type {
  padding: 1.5vh;
  display: flex;
  align-items: center;
  justify-content: center;
  border-top-left-radius: 0.5rem;
  border-top-right-radius: 0.5rem;
  background-color: #f7f7f7;
  position: relative;
  z-index: 0;
  cursor: pointer;
  /* transition: background-color 300ms ease; */
}
.cart__payment-method__type[data-tab='open'] {
  background-color: #fff;
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
  z-index: 50;
}
.cart__payment-method__type > img {
  width: 3vw;
  height: auto;
  margin-right: 1vw;
}
.cart__payment-method__type > p {
  font-size: 1.1em;
  font-weight: 700;
  width: max-content;
}
.cart__payment-method__block {
  margin-bottom: 5vh;
}
.cart__payment-method__subtitle {
  font-size: 1.3em;
  margin-bottom: 2vh;
}
.cart__payment-method__information {
  margin-bottom: 5vh;
  opacity: 0;
  animation: fadeInInput 300ms ease forwards;
}
.cart__payment-method__information ul {
  list-style-type: initial;
}
.cart__payment-method__information ul li {
  margin-left: 1.5vw;
}
.cart__payment-method__price {
  margin-bottom: 2vh;
}
.cart__payment-method__price p {
  font-size: 1.1em;
  font-weight: 700;
  color: #d29723;
}
.cart__payment-method__price p span {
  color: #111;
}
.cart__payment-method__price p small {
  font-size: 0.9em;
  font-weight: 500;
}
.cart__payment-method__dropdown {
  margin: 2vh 0;
  padding-bottom: 1vh;
}
.cart__payment-method__dropdown__toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
  padding-right: 0.5vw;
}
.cart__payment-method__dropdown__toggle p {
  font-size: 1.1em;
  font-weight: 500;
}
.cart__payment-method__dropdown__toggle img {
  width: 1vw;
  height: auto;
}
.cart__payment-method__dropdown[data-dropdown='close'] img[data-arrow='close'],
.cart__payment-method__dropdown[data-dropdown='open'] img[data-arrow='open'],
.cart__payment-method__dropdown[data-dropdown='open']
  .cart__payment-method__dropdown__body {
  display: block;
}
.cart__payment-method__dropdown[data-dropdown='close'] img[data-arrow='open'],
.cart__payment-method__dropdown[data-dropdown='open'] img[data-arrow='close'],
.cart__payment-method__dropdown[data-dropdown='close']
  .cart__payment-method__dropdown__body {
  display: none;
}
.cart__payment-method__dropdown[data-dropdown='open']
  .cart__payment-method__dropdown__body {
  padding: 2vh 1vw;
}
.cart__payment-method__dropdown__body .cart__payment-method__subtitle {
  font-size: 1em;
}
/*******************
STEP 3 - VALIDATION
*******************/
/************** 
CART TERMS
**************/
.cart__terms {
  width: 35vw;
  margin: 0 auto;
  display: flex;
  align-items: center;
  margin-top: 3vh;
}
.cart__terms > input[type='checkbox'] {
  -webkit-appearance: checkbox !important;
  margin-right: 1vw;
}
.cart__terms > label {
  font-weight: 700;
  font-size: 1.1em;
}
.cart__terms > label > a {
  color: #7d7d7d;
  text-decoration: underline;
}
/************** 
CART LINK
**************/
.cart__link {
  font-size: 1em;
  font-weight: 500;
  font-family: inherit;
  display: block;
  width: max-content;
  height: max-content;
  text-transform: uppercase;
  color: #fff;
  background-color: #d29723;
  padding: 1.5vh 1.75vw;
  border-radius: 2rem;
  margin: 0 auto;
  transition: transform 300ms ease, box-shadow 300ms ease;
  border: none;
}
.cart__link:hover {
  transform: translateY(-10%);
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
}
.cart__link:active,
.cart__link:focus {
  transform: translateY(-5%);
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.1);
  outline: none;
}

/**************
CART OVERVIEW
**************/
.cart-overview {
  width: 18vw;
  background-color: #fff;
  position: absolute;
  bottom: 0;
  left: 100%;
  padding: 2vh 1vw;
  opacity: 0;
  visibility: hidden;
  border-top-right-radius: 0.25rem;
  border-bottom-right-radius: 0.25rem;
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
  text-transform: initial;
  transform: translateY(50%);
  transition: opacity 300ms ease, visibility 300ms ease;
  transition-delay: 200ms;
}
.cart-overview--open {
  opacity: 1;
  visibility: visible;
}
.cart-overview__head {
  width: 100%;
  display: flex;
  align-items: center;
  padding-bottom: 2vh;
  border-bottom: 1px solid #ddd;
}
.cart-overview__head__text {
  font-size: 1.3em;
  font-weight: 500;
  text-transform: uppercase;
  margin: 0 auto;
}
.cart-overview__head__icon {
  width: 2.5vw;
  height: auto;
}
.cart-overview__empty {
  font-size: 1.2em;
  font-weight: 300;
  padding: 2.5vh 0;
}
.cart-overview__link {
  font-size: 0.9em;
  text-transform: uppercase;
  background-color: #fff;
  border: 1px solid #d29723;
  color: #d29723;
  width: 100%;
  height: max-content;
  padding: 1vh 0;
  cursor: pointer;
  border-radius: 2rem;
  display: block;
}
.cart-overview__link--orange {
  background-color: #d29723;
  color: #fff;
}
.cart-overview__items {
  width: 100%;
  max-height: 20vh;
  overflow-y: scroll;
  margin-bottom: 1.5vh;
}
.cart-overview__item {
  padding: 1vh 0;
  border-bottom: 1px solid #ddd;
  display: grid;
  grid-template-columns: 1fr max-content;
  column-gap: 1.5vw;
  font-size: 0.9em;
  color: #d29723;
}
.cart-overview__item__info {
  width: 100%;
  overflow: hidden;
}
.cart-overview__item__name {
  text-align: left;
  width: 100%;
  font-weight: 700;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}
.cart-overview__item__ref {
  font-weight: 300;
  text-align: left;
}
.cart-overview__item__price {
  font-weight: 700;
}
.cart-overview__subtotal {
  width: 100%;
  padding: 0.5vh;
  font-size: 0.9em;
  font-weight: 500;
  color: #111;
  display: flex;
  justify-content: space-between;
}
.cart-overview__total {
  width: 100%;
  padding: 0.5vh;
  font-size: 1.1em;
  font-weight: 700;
  color: #111;
  display: flex;
  justify-content: space-between;
  margin-bottom: 1.5vh;
}

@media only screen and (max-width: 768px) {
  .cart {
    width: 80vw;
    padding: 8vh 0;
  }
  .cart__title {
    margin-bottom: 4vh;
  }
  .cart__order-head {
    margin-bottom: 4vh;
  }
  .cart__order-head__count > img {
    width: 6vw;
  }
  .cart__big-cart > img {
    width: 12vw;
  }
  .cart__order-head__count > span {
    width: 3vw;
    height: 3vw;
    font-size: 1em;
  }
  .cart__big-cart > span {
    width: 5vw;
    height: 5vw;
  }
  .cart__empty__subtext {
    width: 70vw;
  }
  .cart__link {
    padding: 1.5vh 2.5vw;
  }
  .cart__order-resume {
    width: 100%;
    margin-bottom: 6vh;
  }
  .cart__order-resume__total-col p {
    margin-bottom: 0.5vh;
  }
  .cart__order-resume__buttons {
    opacity: 1;
    visibility: visible;
    position: relative;
  }
  .cart__order-resume__button {
    width: 5vw;
    height: 2vh;
  }
  .cart__order-resume_row:hover .cart__order-resume__buttons {
    transform: translateY(0);
  }
  .cart__order-resume_row:hover .cart__order-resume__total-col p {
    opacity: 1;
    visibility: visible;
  }
  .cart__steps {
    margin-bottom: 6vh;
    grid-template-columns: 12vw 12vw 12vw;
  }
  .cart__steps::after {
    width: 78vw;
    left: 1vw;
    top: 5vw;
  }
  .cart__step__number {
    width: 10vw;
    height: 10vw;
    margin-bottom: 3vh;
  }
  .cart__step--selected::after {
    height: 5px;
    top: 5vw;
  }
  .cart__step--selected[data-step='1']::after {
    width: calc(78vw / 4);
    left: 1vw;
  }
  .cart__step--selected[data-step='2']::after {
    width: calc(78vw / 2);
  }
  .cart__step--selected[data-step='3']::after {
    width: calc(78vw / 4);
    right: 1vw;
  }
  .cart__input {
    padding: 0.75vh 1.5vw;
    margin-bottom: 1vh;
  }
  .cart__select select,
  .cart__registration__sessions select {
    padding: 0.75vh 1.5vw;
    padding-right: 4.5vw;
  }
  .cart__select img,
  .cart__registration__sessions img {
    width: 1.5vw;
    right: 1vw;
  }
  .cart__select-and-two-inputs,
  .cart__two-inputs {
    margin-bottom: 1vh;
  }
  .cart__registration {
    width: 80vw;
    padding: 4vh 5vw;
    padding-bottom: 5vh;
  }
  p.cart__registration__explanations,
  ul.cart__registration__explanations {
    width: 80vw;
  }
  ul.cart__registration__explanations li {
    margin-left: 5vw;
  }
  .cart__registration__block--head {
    width: 100%;
    margin-bottom: 2vh;
    justify-content: space-between;
    align-items: start;
    flex-direction: column;
  }
  .cart__registration__block > img {
    width: 7vw;
  }
  .cart__registration__name,
  .cart__registration__price {
    max-width: 100%;
    text-align: left;
  }
  .cart__registration__name {
    margin-bottom: 2vh;
  }
  .cart__registration__sessions {
    margin-bottom: 2vh;
  }
  .cart__registration__remotely {
    column-gap: 2vw;
  }
  .cart__registration__remotely__item {
    padding: 0.75vh 1.5vw;
  }
  .cart__registration__overlay p {
    max-width: 90%;
  }
  .cart__link--registration {
    padding: 1.5vh 2.5vw !important;
  }
  .cart__registration__dropdown__toggle img {
    width: 3vw;
  }
  .cart__registration__dropdown {
    margin: 2vh 0;
  }
  .cart__registration__subtitle {
    margin-top: 2vh;
  }
  .cart-overview {
    width: 60vw;
    margin: 0 auto;
  }
}
