/********************************************************/

/*          FORM                                        */

/********************************************************/

button,
input,
optgroup,
select,
textarea{
  --tw-text-opacity: 1;
  color: rgb(0 0 0 / var(--tw-text-opacity));
}

.textarea{
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(229 229 229 / var(--tw-border-opacity));
  padding-top: 1rem;
  padding-bottom: 1rem;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  --tw-text-opacity: 1;
  color: rgb(9 9 11 / var(--tw-text-opacity));
}

.select{
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(229 229 229 / var(--tw-border-opacity));
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  padding-left: 1rem;
  padding-right: 3rem;
  font-size: 14px;
  line-height: 20px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: url(../images/svg/chevron-down-small.svg) no-repeat center / contain #fff;
  background-size: 15px;
  background-position: calc(100% - 10px);
}

fieldset input:focus-visible,
fieldset input:focus,
fieldset input:active,
fieldset input:target{
  --tw-border-opacity: 1 !important;
  border-color: rgb(255 255 255 / var(--tw-border-opacity)) !important;
  outline: 2px solid transparent !important;
  outline-offset: 2px !important;
}

.fieldset-anime{
  position: relative;
  display: flex;
  width: 100%;
  border-radius: 0.75rem;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(229 229 229 / var(--tw-border-opacity));
}

.fieldset-anime legend,
.fieldset-anime label{
  position: absolute;
  top: 0.5rem;
  left: 1.5rem;
  z-index: -50;
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
  font-size: 12px;
  line-height: 16px;
  --tw-text-opacity: 1;
  color: rgb(149 149 149 / var(--tw-text-opacity));
  opacity: 0;
  transition-property: top;
  transition-duration: 200ms;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.fieldset-anime textarea.active ~ legend,
.fieldset-anime input.active  ~ legend,
.fieldset-anime textarea.active ~ label,
.fieldset-anime input.active  ~ label{
  top: -0.625rem;
  z-index: 10;
  opacity: 1;
  transition-property: top;
  transition-duration: 200ms;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

fieldset input:disabled{
  background-color: transparent;
  --tw-text-opacity: 1;
  color: rgb(204 204 204 / var(--tw-text-opacity));
}

fieldset input:disabled ~ legend,
fieldset input:disabled ~ label{
  --tw-text-opacity: 1;
  color: rgb(149 149 149 / var(--tw-text-opacity));
}

.fieldset-anime input::-moz-placeholder{
  --tw-text-opacity: 1;
  color: rgb(149 149 149 / var(--tw-text-opacity));
  opacity: 0.5;
}

.fieldset-anime input::placeholder{
  --tw-text-opacity: 1;
  color: rgb(149 149 149 / var(--tw-text-opacity));
  opacity: 0.5;
}

button, input, optgroup, select, textarea{
  border-radius: 0.75rem;
  --tw-text-opacity: 1;
  color: rgb(0 0 0 / var(--tw-text-opacity));
}

.input-anime,
.input-anime ~ span{
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.checkbox,
.radio,
.checkbox-custom{
  position: relative;
  display: flex;
  gap: 2rem;
  font-size: 14px;
  line-height: 20px;
  font-weight: 600;
  --tw-text-opacity: 1;
  color: rgb(9 9 11 / var(--tw-text-opacity));
}

.checkbox input[type='checkbox'],
.checkbox input[type='radio'],
.radio input[type='checkbox'],
.radio input[type='radio']{
  display: none;
}

.checkbox .checkmark{
  position: relative;
  top: 2px;
  left: 0px;
  margin-top: -2px;
  height: 1.25rem;
  min-height: 1.25rem;
  width: 1.25rem;
  min-width: 1.25rem;
  border-radius: 2px;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(229 229 229 / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
}

.checkbox.checkbox-filter .checkmark{
  height: 1.75rem;
  min-height: 1.75rem;
  width: 1.75rem;
  min-width: 1.75rem;
}

@media (min-width: 1024px){
  .checkbox.checkbox-filter .checkmark{
    height: 1.25rem;
    min-height: 1.25rem;
    width: 1.25rem;
    min-width: 1.25rem;
  }
}

.checkbox .checkmark:after{
  display: none;
  content: url(../images/svg/check.svg);
}

.checkbox input:checked ~ .checkmark:after{
  display: flex;
  height: 118%;
  align-items: center;
  justify-content: center;
}

.checkbox.checkbox-filter input:checked ~ .checkmark:after{
  height: 100%;
}

.checkbox input:checked ~ .checkmark{
  --tw-border-opacity: 1;
  border-color: rgb(9 9 11 / var(--tw-border-opacity));
}

.radio .checkmark{
  position: relative;
  top: 2px;
  left: 0px;
  margin-top: -2px;
  display: flex;
  height: 1.25rem;
  min-height: 1.25rem;
  width: 1.25rem;
  min-width: 1.25rem;
  align-items: center;
  justify-content: center;
  border-radius: 9999px;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(229 229 229 / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
}

.radio .checkmark:after{
  display: none;
  height: 0.75rem;
  min-height: 0.75rem;
  width: 0.75rem;
  min-width: 0.75rem;
  border-radius: 9999px;
  --tw-bg-opacity: 1;
  background-color: rgb(9 9 11 / var(--tw-bg-opacity));
  content: ' ';
}

.radio input:checked ~ .checkmark:after{
  display: flex;
}

.radio input:checked ~ .checkmark{
  --tw-border-opacity: 1;
  border-color: rgb(24 24 24 / var(--tw-border-opacity));
}

.f_el.readonly:not(.f_email_control) input{
  --tw-text-opacity: 1;
  color: rgb(204 204 204 / var(--tw-text-opacity));
}

.f_el.readonly:not(.f_email_control) input.active ~ label{
  --tw-text-opacity: 1;
  color: rgb(204 204 204 / var(--tw-text-opacity));
}

.f_el.f_email_control.readonly{
  --tw-border-opacity: 1;
  border-color: rgb(247 247 246 / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(247 247 246 / var(--tw-bg-opacity));
}

.f_el.f_email_control.readonly input{
  --tw-bg-opacity: 1;
  background-color: rgb(247 247 246 / var(--tw-bg-opacity));
}

.f_el.has_error,
.f_el.has_error .checkmark{
  --tw-border-opacity: 1;
  border-color: rgb(190 57 57 / var(--tw-border-opacity));
}

.f_el.has_error input{
  --tw-text-opacity: 1;
  color: rgb(190 57 57 / var(--tw-text-opacity));
}

.f_el.has_error input::-moz-placeholder{
  --tw-text-opacity: 1;
  color: rgb(190 57 57 / var(--tw-text-opacity));
  opacity: 0.5;
}

.f_el.has_error input::placeholder{
  --tw-text-opacity: 1;
  color: rgb(190 57 57 / var(--tw-text-opacity));
  opacity: 0.5;
}

.f_el.has_error .error_message{
  position: absolute;
  bottom: -22px;
  font-size: 12px;
  --tw-text-opacity: 1;
  color: rgb(190 57 57 / var(--tw-text-opacity));
}

.loadrnvp{
  margin-top: 14px;
}

.autocompleternvp{
  margin-left: -1px;
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.unusable{
  position: relative;
}

.unusable_on:after{
  position: absolute;
  top: 0px;
  left: 0px;
  z-index: 10;
  height: 100%;
  width: 100%;
  background-color: rgb(255 246 237 / 0.5);
  content: ' ';
}

.hidden_content{
  height: -moz-fit-content;
  height: fit-content;
  max-height: 0px;
  flex-direction: column;
  overflow: hidden;
  opacity: 0;
  transition-property: all;
  transition-duration: 500ms;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.active .hidden_content{
  margin-top: 2rem;
  display: flex;
  max-height: -moz-max-content;
  max-height: max-content;
  overflow: visible;
  opacity: 1;
  transition-property: all;
  transition-duration: 500ms;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.StripeElement{
  width: 100%;
  border-radius: 0.75rem;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(229 229 229 / var(--tw-border-opacity));
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

.StripeElement--invalid{
  --tw-text-opacity: 1;
  color: rgb(190 57 57 / var(--tw-text-opacity));
}

.StripeElement input:focus-visible,
.StripeElement input:focus,
.StripeElement input:active,
.StripeElement input:target,
.ElementsApp:focus-visible,
.ElementsApp:focus,
.ElementsApp:active,
.ElementsApp:target,
.InputElement:focus-visible,
.InputElement:focus,
.InputElement:active,
.InputElement:target,
*:focus{
  border-style: none !important;
  --tw-border-opacity: 1 !important;
  border-color: rgb(255 255 255 / var(--tw-border-opacity)) !important;
  outline: 2px solid transparent !important;
  outline-offset: 2px !important;
}

/********************************************************/

/*          BUTTONS                                     */

/********************************************************/

.btn-primary-light{
  display: flex;
  width: -moz-fit-content;
  width: fit-content;
  gap: 0.5rem;
  border-radius: 1rem;
  --tw-border-opacity: 1;
  border-color: rgb(0 0 0 / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
  padding-top: 1rem;
  padding-bottom: 1rem;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  font-size: 14px;
  line-height: 20px;
  font-weight: 600;
  --tw-text-opacity: 1;
  color: rgb(0 0 0 / var(--tw-text-opacity));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 500ms;
}

.btn-primary-light:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(0 0 0 / var(--tw-bg-opacity));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 500ms;
}

.btn-primary-dark{
  display: flex;
  width: -moz-fit-content;
  width: fit-content;
  gap: 0.5rem;
  border-radius: 1rem;
  --tw-bg-opacity: 1;
  background-color: rgb(0 0 0 / var(--tw-bg-opacity));
  padding-top: 1rem;
  padding-bottom: 1rem;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  font-size: 14px;
  line-height: 20px;
  font-weight: 600;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 500ms;
}

.btn-primary-dark:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(0 0 0 / var(--tw-bg-opacity));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 500ms;
}

.btn-primary-fantasy{
  display: flex;
  width: -moz-fit-content;
  width: fit-content;
  gap: 0.5rem;
  border-radius: 1rem;
  --tw-bg-opacity: 1;
  background-color: rgb(255 105 85 / var(--tw-bg-opacity));
  padding-top: 1rem;
  padding-bottom: 1rem;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  font-family: Clash Display, sans-serif;
  font-size: 14px;
  line-height: 20px;
  font-weight: 600;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 500ms;
}

.btn-primary-fantasy:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(0 0 0 / var(--tw-bg-opacity));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 500ms;
}

.btn-primary-large{
  padding-left: 3rem;
  padding-right: 3rem;
}

/********************************************************/

/*          POPIN                                       */

/********************************************************/

.popin{
  position: fixed;
  top: 1200px;
  right: 0px;
  z-index: 61;
  display: flex;
  height: 100vh;
  width: 100%;
  flex-direction: column;
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
  transition-property: top;
  transition-duration: 500ms;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

@media (min-width: 1024px){
  .popin{
    top: 0px;
    right: -620px;
    width: 524px;
    transition-property: right;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
  }
}

.popin.poped{
  top: 3rem;
  right: 0px;
  transition-property: right;
  transition-duration: 500ms;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

@media (min-width: 1024px){
  .popin.poped{
    top: 0px;
  }
}

body .overlay{
  visibility: hidden;
  position: fixed;
  top: 0px;
  left: 0px;
  z-index: 60;
  display: block;
  height: 100vh;
  width: 100vw;
  background-color: rgb(0 0 0 / 0.4);
  opacity: 0;
  transition-property: opacity;
  transition-duration: 500ms;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  content: ' ';
}

body.poped{
  overflow-y: hidden;
}

body.poped .overlay{
  visibility: visible;
  cursor: pointer;
  opacity: 1;
  transition-property: opacity;
  transition-duration: 300ms;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.popin .popin-header{
  position: absolute;
  top: 0px;
  z-index: 50;
  display: flex;
  width: inherit;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(28 79 82 / var(--tw-bg-opacity));
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
  transition-property: top;
  transition-duration: 500ms;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

@media (min-width: 1024px){
  .popin .popin-header{
    padding-left: 3rem;
    padding-right: 3rem;
    padding-top: 2rem;
    padding-bottom: 2rem;
    transition-property: none;
  }
}

.popin[data-popin-color='white'] .popin-header{
  border-bottom-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(229 229 229 / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(0 0 0 / var(--tw-text-opacity));
}

.popin[data-popin-color='white'] .popin-header .close-notif svg path{
  stroke: #000;
}

.popin.poped .popin-header{
  top: 0px;
}

.popin.little-popin{
  top: 52%;
  left: 50%;
  height: -moz-fit-content;
  height: fit-content;
  overflow: hidden;
  border-radius: 0.75rem;
  opacity: 0;
  transform: translate(-50%, -50%);
  transition: opacity 0.150s ease-in-out, top 0.250s ease-in-out;
}

.popin.poped.little-popin .popin-header{
  width: 100%;
  border-width: 0px;
  position: initial;
}

.popin.poped.little-popin{
  opacity: 1;
  top: 50%;
  transition: opacity 0.150s ease-in-out, top 0.250s ease-in-out;
}

.popin.poped.poped-end.little-popin{
  opacity: 0;
  top: 52%;
  transition: opacity 0.150s ease-in-out, top 0.100s ease-in-out;
}

.popin.poped.little-popin .popin-content{
  height: -moz-fit-content;
  height: fit-content;
  padding: 0px;
}

.popin .popin-header svg path{
  stroke: #ffffff;
}

.popin-content{
  display: flex;
  height: 100vh;
  width: 100%;
  flex-direction: column;
  gap: 1.5rem;
  overflow: auto;
  padding-bottom: 11rem;
  -ms-overflow-style: none;
  /* IE and Edge */
  scrollbar-width: none;
}

.popin-content.popin-content-with-footer{
  height: calc(100vh - 140px);
}

[data-popin-name="list-filter"] .popin-content{
  height: unset;
}

.popin-content::-webkit-scrollbar{
  display: none;
}

.popin .popin-footer{
  position: absolute;
  bottom: 48px;
  z-index: 20;
  display: flex;
  width: inherit;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

@media (min-width: 1024px){
  .popin .popin-footer{
    bottom: 0px;
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
  }
}

.popin .popin-footer{
  width: calc(100% - 2rem);
}

.popin .popin-container{
  margin-top: 73px;
  height: 100%;
  overflow: auto;
  padding-left: 1rem;
  padding-right: 1rem;
}

@media (min-width: 1024px){
  .popin .popin-container{
    margin-top: 90px;
    padding-left: 3rem;
    padding-right: 3rem;
  }
}

.popin.little-popin .popin-container{
  margin-top: 20px !important;
}

.popin-title{
  font-family: Clash Display, sans-serif;
  font-weight: 600;
}

@media (min-width: 1024px) {
  .popin .popin-footer{
    width: auto;
    min-width: 428px;
    max-width: 100%;
  }

  .little-popin .popin-header{
    min-width: 100%;
    max-width: 100%;
  }
}

/********************************************************/

/*          NOTIFS                                      */

/********************************************************/

.notif{
  position: fixed;
  top: -250px;
  left: 0.75rem;
  right: 0.75rem;
  display: flex;
  max-width: 100%;
  flex-wrap: wrap;
  border-radius: 0.25rem;
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
  --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  transition-property: top;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 200ms;
  transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
}

@media (min-width: 1024px){
  .notif{
    left: auto;
    width: 430px;
  }
}

.notif.started{
  top: 0.75rem;
  transition-property: top;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 200ms;
  transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
}

.notif.success{
  z-index: 99;
  border-top-width: 2px;
  --tw-border-opacity: 1;
  border-color: rgb(30 172 87 / var(--tw-border-opacity));
}

.notif.error{
  z-index: 99;
  border-top-width: 2px;
  --tw-border-opacity: 1;
  border-color: rgb(190 57 57 / var(--tw-border-opacity));
}

.close-notif{
  position: absolute;
  top: 25px;
  right: 20px;
  display: flex;
  cursor: pointer;
  align-items: center;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}

[data-popin-name="list-filter"] .close-notif{
  top: unset;
}

.close-notif > *:not(.no-rotate){
  transition-property: transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 200ms;
  transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
}

.close-notif:hover > *:not(.no-rotate){
  --tw-rotate: 90deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.notif .badge{
  margin-top: 6px;
  margin-right: 10px;
  height: 10px;
  width: 10px;
  border-radius: 10px;
}

.notif .msg{
  width: calc( 100% - 20px );
}

.notif.success .badge,
.notif.success .progress,
.notif.success .progressbar{
  --tw-bg-opacity: 1;
  background-color: rgb(30 172 87 / var(--tw-bg-opacity));
}

.notif.error .badge,
.notif.error .progress,
.notif.error .progressbar{
  --tw-bg-opacity: 1;
  background-color: rgb(190 57 57 / var(--tw-bg-opacity));
}

.notif p{
  width: 100%;
  padding-top: 25px;
  padding-bottom: 25px;
  padding-left: 30px;
  padding-right: 25px;
}

.notif .progress-container{
  position: relative;
  margin-top: 0;
  margin-bottom: 20px;
  margin-left: 25px;
  margin-right: 25px;
  height: 4px;
  width: 100%;
  overflow: hidden;
  border-radius: 0.25rem;
}

.notif .cta-container{
  position: relative;
  margin-top: 0;
  margin-bottom: 20px;
  margin-left: 25px;
  margin-right: 25px;
  width: 100%;
}

.notif .progress{
  position: relative;
  height: 100%;
  width: 100%;
  overflow: hidden;
  opacity: 0.1;
}

.notif .progressbar{
  position: absolute;
  top: 0px;
  left: 0px;
  height: 100%;
  width: 0px;
  --tw-bg-opacity: 1;
  background-color: rgb(30 172 87 / var(--tw-bg-opacity));
  opacity: 0.7;
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 3500ms;
  transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
}

.notif .progress-container.started .progressbar{
  width: 100%;
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 3500ms;
  transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
}

[data-role="order-product-return"] .checkmark{
  --tw-border-opacity: 1;
  border-color: rgb(9 9 11 / var(--tw-border-opacity));
  background-color: transparent;
}

[data-role="order-product-return"] input:checked ~ .checkmark{
  background-color: transparent;
}

/********************************************************/

/*          ACCOUNT                                     */

/********************************************************/

.title-account{
  display: block;
}

/* navigation */

.nav-account{
  position: sticky;
  width: 100%;
  align-self: flex-start;
  padding-top: 3rem;
}

.nav-account > span{
  padding-left: 1rem;
  padding-right: 1rem;
  font-size: 32px;
  line-height: 35px;
  --tw-text-opacity: 1;
  color: rgb(0 0 0 / var(--tw-text-opacity));
}

@media (min-width: 1024px){
  .nav-account > span{
    padding-left: 0px;
    padding-right: 0px;
  }
}

.nav-account > div{
  display: flex;
  gap: 1.5rem;
  overflow: scroll;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 1.5rem;
  padding-bottom: 0.375rem;
}

@media (min-width: 1024px){
  .nav-account > div{
    flex-direction: column;
    gap: 0px;
    overflow: hidden;
    padding-left: 0px;
    padding-right: 0px;
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
}

.nav-account > div a{
  display: flex;
  cursor: pointer;
  align-items: center;
  white-space: nowrap;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-family: Switzer, sans-serif;
  font-size: 16px;
  line-height: 24px;
  font-weight: 600;
  --tw-text-opacity: 1;
  color: rgb(149 149 149 / var(--tw-text-opacity));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 200ms;
  transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
}

.nav-account > div a.active,
.nav-account > div a:hover{
  --tw-text-opacity: 1;
  color: rgb(0 0 0 / var(--tw-text-opacity));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 200ms;
  transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
}

.nav-account > div a.active path,
.nav-account > div a:hover path{
  stroke: #959595;
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 200ms;
  transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
}

.nav-account > div a path{
  stroke: #959595;
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 200ms;
  transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
}

/* content */

.content-account{
  width: 100%;
  padding-bottom: 8rem;
}

.content-account .content-account-content{
  width: 100%;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-bottom: 0.75rem;
}

@media (min-width: 1024px){
  .content-account .content-account-content{
    padding-top: 7rem;
  }
}

.content-account div > section{
  margin: auto;
  display: flex;
  width: 100%;
  max-width: 1024px;
  flex-direction: column;
  gap: 1rem;
}

.content-account div > section .account-section-title{
  padding-bottom: 1rem;
  font-size: 23px;
  line-height: 32px;
  font-weight: 600;
  --tw-text-opacity: 1;
  color: rgb(28 79 82 / var(--tw-text-opacity));
}

@media (min-width: 1024px){
  .content-account div > section .account-section-title{
    font-size: 30px;
    line-height: 28px;
  }
}

.content-account div > section .box{
  border-radius: 1rem;
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}

@media (min-width: 1024px){
  .content-account div > section .box{
    padding-left: 2rem;
    padding-right: 2rem;
    padding-top: 2rem;
    padding-bottom: 2rem;
  }
}

.content-account div > section .box.boxed{
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.5rem;
}

.content-account div > section .box-big-svg svg{
  height: 50px;
  width: 50px;
}

.content-account div > section .box-medium-svg svg{
  height: 35px;
  width: 35px;
}

.content-account div > section .box-svg svg path{
  stroke: #000;
}

.content-account .item{
  display: flex;
  width: 100%;
  flex-direction: column;
  border-radius: 1rem;
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
}

.content-account .item .head-item{
  display: flex;
  width: 100%;
  cursor: pointer;
  flex-direction: column;
  align-items: flex-start;
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
  padding-left: 1rem;
  padding-right: 1rem;
}

@media (min-width: 1024px){
  .content-account .item .head-item{
    padding-left: 3rem;
    padding-right: 3rem;
    padding-top: 1.5rem;
    padding-bottom: 1rem;
  }
}

.content-account .item .title{
  margin-bottom: 0.25rem;
  display: flex;
  width: 100%;
  justify-content: space-between;
  font-size: 16px;
  line-height: 24px;
  font-weight: 600;
  --tw-text-opacity: 1;
  color: rgb(0 0 0 / var(--tw-text-opacity));
}

.content-account .item .qty{
  margin-bottom: 1.5rem;
  font-size: 14px;
  line-height: 20px;
  --tw-text-opacity: 1;
  color: rgb(0 0 0 / var(--tw-text-opacity));
}

.content-account .item .head-item div{
  margin-bottom: 0.5rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 14px;
  line-height: 20px;
  --tw-text-opacity: 1;
  color: rgb(149 149 149 / var(--tw-text-opacity));
}

.content-account .head-item > div > span{
  font-weight: 600;
  --tw-text-opacity: 1;
  color: rgb(9 9 11 / var(--tw-text-opacity));
}

.content-account .item .head-item div > svg{
  height: 16px;
  width: 16px;
}

.content-account .item .head-item div > svg path{
  stroke-width: 4px;
}

.content-account .item .head-item ~ .content-item{
  height: -moz-fit-content;
  height: fit-content;
  max-height: 0px;
  overflow: hidden;
  padding-left: 1rem;
  padding-right: 1rem;
  opacity: 0;
}

@media (min-width: 1024px){
  .content-account .item .head-item ~ .content-item{
    padding-left: 3rem;
    padding-right: 3rem;
  }
}

.content-account .item .head-item ~ .content-item{
  transition: max-height .250s;
}

.content-account .item .head-item.active ~ .content-item{
  max-height: 2000px;
  opacity: 1;
  transition: max-height .250s, opacity .5s;
}

.content-account .item .content-item button{
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: center;
}

.account .box-50{
  width: 100%;
}

.content-account .home svg{
  height: 2rem;
  width: 2rem;
}

.content-account .home .head-item svg,
.content-account .infos-personnelles svg{
  height: 1.25rem;
  width: 1.25rem;
}

.content-account .home svg path,
.content-account .home .head-item svg path{
  stroke: #09090B;
}

.nav-account ul::-webkit-scrollbar{
  display: none;
}

.nav-account ul{
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
  -ms-overflow-style: none;
  /* IE and Edge */
  scrollbar-width: none;
  /* Firefox */
}

@media (min-width: 1024px) {
  .nav-account{
    top: 92px;
    width: 348px;
    min-width: 348px;
    padding-bottom: 8rem;
  }

  .content-account .item .content-item button{
    min-width: 195px;
    max-width: 220px;
  }

  .account .box-50{
    width: calc(50% - 8px);
  }

  .lg\:w-348{
    width: 348px;
  }

  .lg\:min-w-348{
    min-width: 348px;
  }

  .nav-account{
    padding-top: 106px;
  }
}

/********************************************************/

/*          CHECKOUT                                    */

/********************************************************/

.checkout{
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}

@media (min-width: 1024px){
  .checkout{
    padding-left: 0px;
    padding-right: 0px;
  }
}

[data-role="card-product"][data-type="cart"]{
  position: relative;
  display: flex;
  gap: 1rem;
  padding-top: 1.5rem;
}

[data-role="card-product"][data-type="cart"] .packshot{
  display: flex;
  aspect-ratio: 4/5;
  width: 40%;
  overflow: hidden;
  border-radius: 1rem;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(180 178 171 / var(--tw-border-opacity));
}

[data-role="card-product"][data-type="cart"] .product-title,
[data-type="cart-line"] .product-title{
  padding-right: 0.75rem;
  font-size: 14px;
  line-height: 20px;
  font-weight: 600;
  --tw-text-opacity: 1;
  color: rgb(0 0 0 / var(--tw-text-opacity));
}

@media (min-width: 1024px){
  [data-role="card-product"][data-type="cart"] .product-title,
[data-type="cart-line"] .product-title{
    padding-right: 0px;
  }
}

[data-role="card-product"][data-type="cart"] .properties,
[data-type="cart-line"] .properties{
  margin-top: 0.75rem;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  -moz-column-gap: 0.75rem;
       column-gap: 0.75rem;
  row-gap: 0.25rem;
  padding-bottom: 0.75rem;
  font-size: 12px;
  line-height: 16px;
  --tw-text-opacity: 1;
  color: rgb(149 149 149 / var(--tw-text-opacity));
}

[data-role="card-product"][data-type="cart"] .color-product,
[data-type="cart-line"] .color-product{
  height: 12px;
  width: 12px;
  border-radius: 9999px;
}

[data-role="card-product"][data-type="cart"] .line-quantity{
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 12px;
  line-height: 16px;
  --tw-text-opacity: 1;
  color: rgb(149 149 149 / var(--tw-text-opacity));
}

[data-type="cart-line"]{
  position: relative;
  display: flex;
  gap: 1rem;
  border-radius: 1rem;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(229 229 229 / var(--tw-border-opacity));
  padding-top: 1rem;
  padding-bottom: 1rem;
  padding-left: 1rem;
  padding-right: 1rem;
}

.summary [data-type="cart-line"]{
  gap: 0.75rem;
  border-style: none;
  padding: 0px;
}

[data-type="cart-line"].active{
  --tw-border-opacity: 1;
  border-color: rgb(0 0 0 / var(--tw-border-opacity));
}

[data-type="cart-line"] .packshot{
  display: flex;
  aspect-ratio: 4/5;
  width: 40%;
  overflow: hidden;
  border-radius: 1rem;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(180 178 171 / var(--tw-border-opacity));
}

.summary [data-type="cart-line"] .packshot{
  width: 20%;
}

[data-type="cart-line"] .product-price{
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  font-size: 14px;
  line-height: 20px;
  font-weight: 600;
  --tw-text-opacity: 1;
  color: rgb(9 9 11 / var(--tw-text-opacity));
}

@media (min-width: 1024px){
  [data-type="cart-line"] .product-price{
    flex-direction: row;
    gap: 0.75rem;
  }
}

[data-type="cart-line"] .product-price .line-through{
  --tw-text-opacity: 1;
  color: rgb(149 149 149 / var(--tw-text-opacity));
}

[data-type="cart-line"] .product-edit{
  position: absolute;
  top: 18px;
  right: 38px;
  cursor: pointer;
}

[data-type="cart-line"] .product-remove{
  position: absolute;
  top: 15px;
  right: 10px;
  cursor: pointer;
}

.breadcrumb-checkout .step-container{
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding-bottom: 0.75rem;
  font-size: 14px;
  line-height: 20px;
  font-weight: 600;
  --tw-text-opacity: 1;
  color: rgb(9 9 11 / var(--tw-text-opacity));
}

@media (min-width: 1024px){
  .breadcrumb-checkout .step-container{
    font-size: 16px;
    line-height: 24px;
  }
}

.breadcrumb-checkout .step{
  display: flex;
  height: 1.75rem;
  width: 1.75rem;
  align-items: center;
  justify-content: center;
  border-radius: 9999px;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(9 9 11 / var(--tw-border-opacity));
  font-size: 12px;
  line-height: 16px;
}

@media (min-width: 1024px){
  .breadcrumb-checkout .step{
    height: 2rem;
    width: 2rem;
  }
}

.breadcrumb-checkout .step.focused{
  --tw-bg-opacity: 1;
  background-color: rgb(9 9 11 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}

.breadcrumb-checkout .step.focused svg path{
  stroke: #ffffff;
  stroke-width: 4px;
}

.breadcrumb-checkout .spacer{
  --tw-bg-opacity: 1;
  background-color: rgb(9 9 11 / var(--tw-bg-opacity));
}

.checkout .checkout-content{
  display: flex;
  width: 100%;
  flex-direction: column;
  gap: 1.5rem;
}

@media (min-width: 1024px){
  .checkout .checkout-content{
    gap: 1rem;
  }
}

.checkout .checkout-box{
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
  padding-top: 2rem;
  padding-bottom: 2rem;
  padding-left: 1rem;
  padding-right: 1rem;
}

@media (min-width: 768px){
  .checkout .checkout-box{
    padding-left: 2rem;
    padding-right: 2rem;
  }
}

@media (min-width: 1024px){
  .checkout .checkout-box{
    padding: 3rem;
  }
}

.checkout .checkout-subtitle{
  display: flex;
  align-items: flex-end;
  gap: 0.5rem;
  font-size: 23px;
  line-height: 32px;
  font-weight: 600;
  --tw-text-opacity: 1;
  color: rgb(9 9 11 / var(--tw-text-opacity));
}

.checkout .checkout-subtitle-less{
  display: flex;
  align-items: flex-end;
  gap: 0.5rem;
  font-size: 18px;
  line-height: 24px;
  font-weight: 600;
  --tw-text-opacity: 1;
  color: rgb(9 9 11 / var(--tw-text-opacity));
}

.checkout .checkout-text{
  font-size: 14px;
  line-height: 20px;
  font-weight: 400;
  --tw-text-opacity: 1;
  color: rgb(149 149 149 / var(--tw-text-opacity));
}

.checkout .checkout-text-bold{
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 16px;
  line-height: 24px;
  font-weight: 600;
  --tw-text-opacity: 1;
  color: rgb(0 0 0 / var(--tw-text-opacity));
}

.checkout .delivery-estimate > span svg path{
  stroke: #FF6955;
}

.checkout .delivery-estimate .progress-bar{
  position: relative;
  height: 5px;
  width: 100%;
  border-radius: 9999px;
  --tw-bg-opacity: 1;
  background-color: rgb(229 229 229 / var(--tw-bg-opacity));
}

.checkout .delivery-estimate .progress-bar > span{
  position: absolute;
  top: 0px;
  left: 0px;
  height: 5px;
  border-radius: 9999px;
  --tw-bg-opacity: 1;
  background-color: rgb(255 105 85 / var(--tw-bg-opacity));
}

.checkout .summary{
  position: sticky;
  top: 108px;
  z-index: 50;
  display: flex;
  height: -moz-fit-content;
  height: fit-content;
  width: 100%;
  flex-direction: column;
  gap: 1rem;
}

@media (min-width: 1024px){
  .checkout .summary{
    max-width: 475px;
  }
}

.checkout .summary .summary-toggler{
  display: flex;
  width: 100%;
  justify-content: space-between;
  font-size: 16px;
  line-height: 24px;
  font-weight: 600;
  --tw-text-opacity: 1;
  color: rgb(9 9 11 / var(--tw-text-opacity));
}

.checkout [data-role="accordion"] svg{
  height: 1.25rem;
  width: 1.25rem;
  transition-property: transform;
  transition-duration: 500ms;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.checkout [data-role="accordion"] .active > svg{
  transition-property: all;
  transition-duration: 500ms;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transform: rotate(180deg);
}

.checkout [data-role="accordion"] .toggleTab{
  height: -moz-fit-content;
  height: fit-content;
  max-height: 0px;
  overflow: hidden;
  transition-property: all;
  transition-duration: 500ms;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.checkout [data-role="accordion"] .active + .toggleTab{
  transition-property: all;
  transition-duration: 500ms;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  max-height: unset;
}

.checkout [data-role="accordion"][data-type="voucher"] .plus,
.checkout [data-role="accordion"][data-type="voucher"] .active .moins{
  display: block;
}

.checkout [data-role="accordion"][data-type="voucher"] .moins,
.checkout [data-role="accordion"][data-type="voucher"] .active .plus{
  display: none;
}

.checkout [data-role="accordion"][data-type="voucher"] .toggleTab{
  flex-direction: column;
  transition-property: all;
  transition-duration: 500ms;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.checkout [data-role="accordion"][data-type="voucher"] svg{
  height: initial;
  width: initial;
}

.checkout [data-role="accordion"][data-type="voucher"] .active + .toggleTab{
  margin-top: 16px;
  display: flex;
  overflow: visible;
  padding-bottom: 2rem;
  transition-property: all;
  transition-duration: 500ms;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.checkout .apply-voucher{
  margin-bottom: -16px;
  margin-top: 0px;
  height: 0px;
  justify-content: center;
  padding: 0px;
  transition-property: all;
  transition-duration: 500ms;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.checkout .apply-voucher.active{
  margin-bottom: 0px;
  height: 52px;
  padding-top: 1rem;
  padding-bottom: 1rem;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  transition-property: all;
  transition-duration: 500ms;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.checkout #f_voucher_voucher{
  margin-bottom: 8px;
  transition-property: all;
  transition-duration: 500ms;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.checkout #f_voucher_voucher.has_error{
  margin-bottom: 35px;
  transition-property: all;
  transition-duration: 500ms;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.checkout [data-role="accordion"][data-type="infos-product"] .active > svg {
  transform: rotate(-90deg);
  transition: transform .5s;
}

.checkout .header-confirm-picto{
  display: flex;
  justify-content: center;
}

.checkout .header-confirm-picto svg path{
  stroke: #000;
  stroke-width: 3px;
}

.checkout .header-confirm-text-1{
  display: block;
  padding-top: 1.5rem;
  text-align: center;
  font-size: 30px;
  line-height: 28px;
  font-weight: 600;
}

.checkout .header-confirm-text-2{
  margin-top: 1.5rem;
  display: block;
  text-align: center;
  font-size: 14px;
  line-height: 20px;
  --tw-text-opacity: 1;
  color: rgb(0 0 0 / var(--tw-text-opacity));
}

.checkout .header-confirm-text-3{
  margin-top: 1.5rem;
  display: block;
  padding-bottom: 4rem;
  text-align: center;
  font-size: 16px;
  line-height: 24px;
  font-weight: 600;
  --tw-text-opacity: 1;
  color: rgb(0 0 0 / var(--tw-text-opacity));
}

@media (min-width: 1024px){
  .checkout .header-confirm-text-3{
    font-size: 18px;
    line-height: 24px;
  }
}

.checkout .checkout-content[data-role="confirm"]{
  width: 100%;
  max-width: 917px;
}

/********************************************************/

/*          COMMON                                      */

/********************************************************/

*[data-hover-effect="shadow"]{
  transition-property: all;
  transition-duration: 200ms;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

*[data-hover-effect="shadow"]:hover{
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  transition-property: all;
  transition-duration: 200ms;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}