@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300..800;1,300..800&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Exo+2:ital,wght@0,100..900;1,100..900&family=Nunito:ital,wght@0,200..1000;1,200..1000&family=Open+Sans:ital,wght@0,300..800;1,300..800&display=swap");
[class^=icon-], [class*=" icon-"] {
  /* Use !important to prevent issues with browser extensions that change fonts */
  font-family: "icomoon-spe" !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better font rendering */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-document-exclamation:before {
  content: "\ea11";
}

.icon-chevron-down:before {
  content: "\ea0d";
}

.icon-chevron-left:before {
  content: "\ea0e";
}

.icon-chevron-right:before {
  content: "\ea0f";
}

.icon-chevron-up:before {
  content: "\ea10";
}

.icon-card-1:before {
  content: "\e931";
}

.icon-transport-car:before {
  content: "\e932";
}

.icon-add:before {
  content: "\e902";
}

.icon-analytic:before {
  content: "\e903";
}

.icon-arrow-oultine:before {
  content: "\e904";
}

.icon-arrow:before {
  content: "\e905";
}

.icon-award:before {
  content: "\e906";
}

.icon-card-2:before {
  content: "\e907";
}

.icon-card-3:before {
  content: "\e908";
}

.icon-card-double-1:before {
  content: "\e909";
}

.icon-card-double-2:before {
  content: "\e90a";
}

.icon-card-double-3:before {
  content: "\e90b";
}

.icon-card-hand-1:before {
  content: "\e90c";
}

.icon-card-hand-2:before {
  content: "\e90d";
}

.icon-card-hand-3:before {
  content: "\e90e";
}

.icon-clock:before {
  content: "\e90f";
}

.icon-cutlery-1:before {
  content: "\e910";
}

.icon-cutlery-2:before {
  content: "\e911";
}

.icon-health-dentist:before {
  content: "\e912";
}

.icon-health-doctor:before {
  content: "\e913";
}

.icon-health-stethoscope:before {
  content: "\e914";
}

.icon-health-yoga:before {
  content: "\e915";
}

.icon-igrocery-store-1:before {
  content: "\e916";
}

.icon-igrocery-store-2:before {
  content: "\e917";
}

.icon-letter:before {
  content: "\e918";
}

.icon-map-pin-1:before {
  content: "\e919";
}

.icon-map-pin-2:before {
  content: "\e91a";
}

.icon-parking:before {
  content: "\e91b";
}

.icon-present:before {
  content: "\e91c";
}

.icon-promo:before {
  content: "\e91d";
}

.icon-search:before {
  content: "\e91e";
}

.icon-speedometer:before {
  content: "\e91f";
}

.icon-streat-horizont:before {
  content: "\e920";
}

.icon-streat-vertical:before {
  content: "\e921";
}

.icon-transport-bus:before {
  content: "\e922";
}

.icon-transport-truck:before {
  content: "\e923";
}

.icon-tree:before {
  content: "\e924";
}

.icon-weight:before {
  content: "\e925";
}

.icon-world:before {
  content: "\e926";
}

.icon-phone:before {
  content: "\e927";
}

.icon-coin:before {
  content: "\e928";
}

.icon-coins:before {
  content: "\e929";
}

.icon-screen-percent:before {
  content: "\e92a";
}

.icon-pumb:before {
  content: "\e92b";
}

.icon-user-card:before {
  content: "\e92c";
}

.icon-user-screen:before {
  content: "\e92d";
}

.icon-user:before {
  content: "\e92e";
}

.icon-tag:before {
  content: "\e92f";
}

.icon-tool:before {
  content: "\e930";
}

.icon-refresh:before {
  content: "\e901";
}

.icon-ctf:before {
  content: "\e900";
}

.icon-airplay:before {
  content: "\e933";
}

.icon-align-vertical:before {
  content: "\e934";
}

.icon-archive:before {
  content: "\e935";
}

.icon-arrow-bottom-right:before {
  content: "\e936";
}

.icon-arrow-down-circle:before {
  content: "\e937";
}

.icon-arrow-left-circle:before {
  content: "\e938";
}

.icon-arrow-right-circle:before {
  content: "\e939";
}

.icon-arrow-top-right:before {
  content: "\e93a";
}

.icon-arrow-up:before {
  content: "\e93b";
}

.icon-audio-wave:before {
  content: "\e93c";
}

.icon-backward:before {
  content: "\e93d";
}

.icon-battery-75:before {
  content: "\e93e";
}

.icon-battery-empty:before {
  content: "\e93f";
}

.icon-bell-ringing:before {
  content: "\e940";
}

.icon-bell:before {
  content: "\e941";
}

.icon-bluetooth:before {
  content: "\e942";
}

.icon-book-closed:before {
  content: "\e943";
}

.icon-bookmark:before {
  content: "\e944";
}

.icon-box-download:before {
  content: "\e945";
}

.icon-box-remove:before {
  content: "\e946";
}

.icon-box:before {
  content: "\e947";
}

.icon-branch:before {
  content: "\e948";
}

.icon-briefcase:before {
  content: "\e949";
}

.icon-browser-alt:before {
  content: "\e94a";
}

.icon-button-minus:before {
  content: "\e94b";
}

.icon-calendar:before {
  content: "\e94c";
}

.icon-close:before {
  content: "\e94d";
}

.icon-cloud-upload-alt:before {
  content: "\e94e";
}

.icon-code:before {
  content: "\e94f";
}

.icon-coin1:before {
  content: "\e950";
}

.icon-compass:before {
  content: "\e951";
}

.icon-contacts:before {
  content: "\e952";
}

.icon-contract:before {
  content: "\e953";
}

.icon-credit-card:before {
  content: "\e954";
}

.icon-cross:before {
  content: "\e955";
}

.icon-crosshair:before {
  content: "\e956";
}

.icon-database:before {
  content: "\e957";
}

.icon-directions:before {
  content: "\e958";
}

.icon-display-alt:before {
  content: "\e959";
}

.icon-document-words:before {
  content: "\e95a";
}

.icon-door-alt:before {
  content: "\e95b";
}

.icon-download-alt:before {
  content: "\e95c";
}

.icon-downward:before {
  content: "\e95d";
}

.icon-drag-circle:before {
  content: "\e95e";
}

.icon-drag:before {
  content: "\e95f";
}

.icon-enter-alt:before {
  content: "\e960";
}

.icon-episodes:before {
  content: "\e961";
}

.icon-exit-right:before {
  content: "\e962";
}

.icon-expand-height:before {
  content: "\e963";
}

.icon-external:before {
  content: "\e964";
}

.icon-eye-no:before {
  content: "\e965";
}

.icon-eye:before {
  content: "\e966";
}

.icon-face-delighted:before {
  content: "\e967";
}

.icon-face-neutral:before {
  content: "\e968";
}

.icon-face-sad:before {
  content: "\e969";
}

.icon-files-history:before {
  content: "\e96a";
}

.icon-filter-circle:before {
  content: "\e96b";
}

.icon-filtering:before {
  content: "\e96c";
}

.icon-flag:before {
  content: "\e96d";
}

.icon-flame-alt:before {
  content: "\e96e";
}

.icon-flip-view:before {
  content: "\e96f";
}

.icon-folder-add:before {
  content: "\e970";
}

.icon-folder-minus:before {
  content: "\e971";
}

.icon-fork-git:before {
  content: "\e972";
}

.icon-forward:before {
  content: "\e973";
}

.icon-frame:before {
  content: "\e974";
}

.icon-funnel:before {
  content: "\e975";
}

.icon-globe:before {
  content: "\e976";
}

.icon-grab:before {
  content: "\e977";
}

.icon-graph-increase:before {
  content: "\e978";
}

.icon-grid-squares-add:before {
  content: "\e979";
}

.icon-grid-squares:before {
  content: "\e97a";
}

.icon-hash:before {
  content: "\e97b";
}

.icon-heart:before {
  content: "\e97c";
}

.icon-microphone-disabled:before {
  content: "\e97d";
}

.icon-microphone-muted:before {
  content: "\e97e";
}

.icon-midpoint:before {
  content: "\e97f";
}

.icon-mini-player:before {
  content: "\e980";
}

.icon-minimise:before {
  content: "\e981";
}

.icon-minus-circle:before {
  content: "\e982";
}

.icon-minus:before {
  content: "\e983";
}

.icon-moon:before {
  content: "\e984";
}

.icon-move:before {
  content: "\e985";
}

.icon-newspaper:before {
  content: "\e986";
}

.icon-no-sign:before {
  content: "\e987";
}

.icon-notebook:before {
  content: "\e988";
}

.icon-notification:before {
  content: "\e989";
}

.icon-nut:before {
  content: "\e98a";
}

.icon-pages:before {
  content: "\e98b";
}

.icon-panel-bottom:before {
  content: "\e98c";
}

.icon-panel-center:before {
  content: "\e98d";
}

.icon-panel-left:before {
  content: "\e98e";
}

.icon-panel-right:before {
  content: "\e98f";
}

.icon-panel-sectioned:before {
  content: "\e990";
}

.icon-panel-top:before {
  content: "\e991";
}

.icon-paper-folded:before {
  content: "\e992";
}

.icon-paper-plane-alt:before {
  content: "\e993";
}

.icon-paper:before {
  content: "\e994";
}

.icon-paperclip:before {
  content: "\e995";
}

.icon-paragraph-center:before {
  content: "\e996";
}

.icon-paragraph-end:before {
  content: "\e997";
}

.icon-paragraph-left:before {
  content: "\e998";
}

.icon-paragraph-right:before {
  content: "\e999";
}

.icon-paragraph-start:before {
  content: "\e99a";
}

.icon-pen:before {
  content: "\e99b";
}

.icon-phone-landscape:before {
  content: "\e99c";
}

.icon-phone-portrait:before {
  content: "\e99d";
}

.icon-picture:before {
  content: "\e99e";
}

.icon-pie-half:before {
  content: "\e99f";
}

.icon-pie-quarter:before {
  content: "\e9a0";
}

.icon-pie-third:before {
  content: "\e9a1";
}

.icon-pill:before {
  content: "\e9a2";
}

.icon-play-button:before {
  content: "\e9a3";
}

.icon-plus-circle:before {
  content: "\e9a4";
}

.icon-plus:before {
  content: "\e9a5";
}

.icon-postcard:before {
  content: "\e9a6";
}

.icon-printer:before {
  content: "\e9a7";
}

.icon-projector:before {
  content: "\e9a8";
}

.icon-pull-down:before {
  content: "\e9a9";
}

.icon-pull-left:before {
  content: "\e9aa";
}

.icon-pull-right:before {
  content: "\e9ab";
}

.icon-pull-up:before {
  content: "\e9ac";
}

.icon-push-down:before {
  content: "\e9ad";
}

.icon-push-left:before {
  content: "\e9ae";
}

.icon-push-right:before {
  content: "\e9af";
}

.icon-push-up:before {
  content: "\e9b0";
}

.icon-question-circle:before {
  content: "\e9b1";
}

.icon-radio-on:before {
  content: "\e9b2";
}

.icon-receipt:before {
  content: "\e9b3";
}

.icon-record:before {
  content: "\e9b4";
}

.icon-redo:before {
  content: "\e9b5";
}

.icon-refresh1:before {
  content: "\e9b6";
}

.icon-replicate-alt:before {
  content: "\e9b7";
}

.icon-replicate:before {
  content: "\e9b8";
}

.icon-reset-alt:before {
  content: "\e9b9";
}

.icon-reset-forward:before {
  content: "\e9ba";
}

.icon-reset-hard:before {
  content: "\e9bb";
}

.icon-reset-temporary:before {
  content: "\e9bc";
}

.icon-reset:before {
  content: "\e9bd";
}

.icon-retweet:before {
  content: "\e9be";
}

.icon-reuse:before {
  content: "\e9bf";
}

.icon-reverse:before {
  content: "\e9c0";
}

.icon-revert:before {
  content: "\e9c1";
}

.icon-rocket:before {
  content: "\e9c2";
}

.icon-ruler:before {
  content: "\e9c3";
}

.icon-scale-contract:before {
  content: "\e9c4";
}

.icon-scale-extend:before {
  content: "\e9c5";
}

.icon-scale:before {
  content: "\e9c6";
}

.icon-scalpel:before {
  content: "\e9c7";
}

.icon-search1:before {
  content: "\e9c8";
}

.icon-server:before {
  content: "\e9c9";
}

.icon-settings:before {
  content: "\e9ca";
}

.icon-share-alt:before {
  content: "\e9cb";
}

.icon-share:before {
  content: "\e9cc";
}

.icon-shuffle:before {
  content: "\e9cd";
}

.icon-side-menu:before {
  content: "\e9ce";
}

.icon-signal-full:before {
  content: "\e9cf";
}

.icon-signal-low:before {
  content: "\e9d0";
}

.icon-signal-medium:before {
  content: "\e9d1";
}

.icon-signal-none:before {
  content: "\e9d2";
}

.icon-slash-backward:before {
  content: "\e9d3";
}

.icon-slash-forward:before {
  content: "\e9d4";
}

.icon-sliders:before {
  content: "\e9d5";
}

.icon-sort-alt:before {
  content: "\e9d6";
}

.icon-sort:before {
  content: "\e9d7";
}

.icon-speaker:before {
  content: "\e9d8";
}

.icon-speech-bubble:before {
  content: "\e9d9";
}

.icon-speech-typing:before {
  content: "\e9da";
}

.icon-split-three:before {
  content: "\e9db";
}

.icon-split:before {
  content: "\e9dc";
}

.icon-star:before {
  content: "\e9dd";
}

.icon-sun .path1:before {
  content: "\e9de";
  color: rgb(14, 13, 13);
  opacity: 0.3;
}

.icon-sun .path2:before {
  content: "\ea0a";
  margin-left: -1em;
  color: rgb(14, 13, 13);
}

.icon-sun .path3:before {
  content: "\ea0b";
  margin-left: -1em;
  color: rgb(14, 13, 13);
}

.icon-sun .path4:before {
  content: "\ea0c";
  margin-left: -1em;
  color: rgb(14, 13, 13);
}

.icon-support:before {
  content: "\e9df";
}

.icon-swap:before {
  content: "\e9e0";
}

.icon-switch:before {
  content: "\e9e1";
}

.icon-table-header:before {
  content: "\e9e2";
}

.icon-table:before {
  content: "\e9e3";
}

.icon-tag-milestone:before {
  content: "\e9e4";
}

.icon-tag1:before {
  content: "\e9e5";
}

.icon-tags:before {
  content: "\e9e6";
}

.icon-target:before {
  content: "\e9e7";
}

.icon-terminal:before {
  content: "\e9e8";
}

.icon-thread:before {
  content: "\e9e9";
}

.icon-thumbs-down:before {
  content: "\e9ea";
}

.icon-thumbs-up:before {
  content: "\e9eb";
}

.icon-ticket:before {
  content: "\e9ec";
}

.icon-timeline:before {
  content: "\e9ed";
}

.icon-todo:before {
  content: "\e9ee";
}

.icon-toggle:before {
  content: "\e9ef";
}

.icon-toggles:before {
  content: "\e9f0";
}

.icon-translate:before {
  content: "\e9f1";
}

.icon-trash-alt:before {
  content: "\e9f2";
}

.icon-trash:before {
  content: "\e9f3";
}

.icon-trophy:before {
  content: "\e9f4";
}

.icon-tv-mode:before {
  content: "\e9f5";
}

.icon-unarchive:before {
  content: "\e9f6";
}

.icon-undo-history:before {
  content: "\e9f7";
}

.icon-undo:before {
  content: "\e9f8";
}

.icon-unlink-horizontal:before {
  content: "\e9f9";
}

.icon-unlink-vertical:before {
  content: "\e9fa";
}

.icon-upload-alt:before {
  content: "\e9fb";
}

.icon-upload:before {
  content: "\e9fc";
}

.icon-upward:before {
  content: "\e9fd";
}

.icon-user-add:before {
  content: "\e9fe";
}

.icon-user-circle:before {
  content: "\e9ff";
}

.icon-user-male-circle:before {
  content: "\ea00";
}

.icon-user-male:before {
  content: "\ea01";
}

.icon-user-remove:before {
  content: "\ea02";
}

.icon-user1:before {
  content: "\ea03";
}

.icon-users:before {
  content: "\ea04";
}

.icon-venn:before {
  content: "\ea05";
}

.icon-version:before {
  content: "\ea06";
}

.icon-versions:before {
  content: "\ea07";
}

.icon-video:before {
  content: "\ea08";
}

.icon-volume-0:before {
  content: "\ea09";
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

.container {
  width: 100%;
  max-width: 1360px;
  margin: 0 auto;
  padding: 0 24px;
}

.dialog {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 9999;
  align-items: center;
  justify-content: center;
}
.dialog.show, .dialog--active {
  display: flex;
}
.dialog__overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 1;
}
.dialog__container {
  position: relative;
  z-index: 2;
  width: 448px;
  background-color: #ffffff;
  border-radius: 8px;
  padding: 60px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.dialog__icon {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-bottom: 20px;
}
.dialog__title {
  font-family: "Exo 2", sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: 24px;
  color: #323c32;
  margin-bottom: 20px;
}
.dialog__content {
  display: flex;
  flex-direction: column;
  margin-bottom: 40px;
  width: 100%;
}
.dialog__text {
  font-family: "Nunito", sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 24px;
  color: #323c32;
  margin: 0;
}
.dialog__actions {
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: 100%;
  margin-top: auto;
}
.dialog__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  flex-shrink: 0;
  height: 54px;
  padding: 8px 16px;
  font-family: "Exo 2", sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: 24px;
  border-radius: 8px;
  border: 0;
  width: 100%;
  cursor: pointer;
  transition: all 0.2s ease;
}
.dialog__button--primary {
  background-color: #33820d;
  color: #ffffff;
}
.dialog__button--outline {
  background-color: transparent;
  color: #33820d;
  border: 1px solid #33820d;
}
.dialog__button.loading {
  position: relative;
  pointer-events: none;
  color: transparent !important;
}
.dialog__button.loading::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 20px;
  height: 20px;
  border: 2px solid #505050;
  border-top-color: rgba(80, 80, 80, 0.1254901961);
  border-radius: 50%;
  animation: dialog-button-spin 0.6s linear infinite;
}
.dialog__button.loading.dialog__button--primary::after {
  border-color: #ffffff;
  border-top-color: transparent;
}
.dialog__button.loading.dialog__button--outline::after {
  border-color: #33820c;
  border-top-color: transparent;
}
@keyframes dialog-button-spin {
  from {
    transform: translate(-50%, -50%) rotate(0deg);
  }
  to {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}
.dialog__vehicle-card {
  width: 100%;
  background-color: #ffffff;
  border-radius: 12px;
  border: 1.2px solid #e1e6e1;
  padding: 20px;
  display: flex;
  align-items: center;
  text-align: left;
  gap: 16px;
  margin-top: 20px;
}
.dialog__vehicle-icon {
  width: 48px;
  height: 48px;
  border-radius: 8px;
  background-color: #f5f5f5;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.dialog__vehicle-icon svg {
  width: 24px;
  height: 24px;
}
.dialog__vehicle-info {
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex: 1;
}
.dialog__vehicle-model {
  font-family: "Exo 2", sans-serif;
  font-weight: 700;
  font-size: 16px;
  line-height: 20px;
  color: #323c32;
  margin: 0;
}
.dialog__vehicle-plate {
  font-family: "Nunito", sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 20px;
  color: #6b6b6b;
  margin: 0;
}
.dialog--confirm-vehicle .dialog__icon {
  background-color: #fff3e0;
  color: #f57c00;
}
.dialog--restricted-plate .dialog__icon {
  background-color: #ffcdd2;
  color: #d32f2f;
}
.dialog--plan-details .dialog__container {
  width: 100%;
  max-width: 480px;
  padding: 0;
  align-items: stretch;
  text-align: left;
  border-radius: 16px;
  max-height: 90vh;
  overflow: hidden;
}
.dialog--plan-details .dialog__plan-content {
  padding: 24px;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.dialog--plan-details .dialog__close-footer {
  width: 100%;
}
@media screen and (max-width: 768px) {
  .dialog--plan-details .dialog__close-footer {
    height: 54px;
    font-family: "Exo 2", sans-serif;
    font-size: 20px;
    line-height: 24px;
  }
}
.dialog--plan-details .step-5__info-intro {
  text-align: center;
  font-family: "Nunito", sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 138%;
  color: #505050;
}
.dialog--plan-details .step-5__info-section-title {
  font-family: "Open Sans", sans-serif;
  font-weight: 700;
  font-size: 16px;
  line-height: 138%;
  color: #505050;
}
.dialog--plan-details .step-5__info-section-title--plan-name {
  font-family: "Nunito", sans-serif;
  font-weight: 700;
  font-size: 18px;
  line-height: 128%;
}
.dialog--plan-details .step-5__plate-card {
  gap: 12px;
}
.dialog--plan-details .step-5__plate-icon {
  width: 44px;
  height: 44px;
  background-color: #f0f0f0;
  border-radius: 100px;
  padding: 10px;
}
.dialog--plan-details .step-5__plate-plan {
  font-family: "Nunito", sans-serif;
  font-weight: 400;
  font-size: 12px;
  line-height: 138%;
  color: #767676;
}
.dialog--plan-details .step-5__plate-vehicle {
  font-family: "Nunito", sans-serif;
  font-weight: 700;
  font-size: 14px;
  line-height: 138%;
  color: #505050;
}
.dialog--plan-details .step-5__availability {
  font-family: "Nunito", sans-serif;
  font-weight: 600;
  font-size: 12px;
  line-height: 138%;
  color: #505050;
  background-color: #ecf6e7;
  border-radius: 4px;
  padding: 4px 8px;
}
.dialog--plan-details .step-5__info-label {
  font-family: "Nunito", sans-serif;
  font-weight: 700;
  font-size: 14px;
  line-height: 18px;
  color: #4a4a4a;
}
.dialog--plan-details .step-5__info-value {
  font-family: "Nunito", sans-serif;
  font-weight: 400;
  font-size: 12px;
  line-height: 16px;
  color: #767676;
}
.dialog--plan-details .step-5__value-label {
  font-family: "Nunito", sans-serif;
  font-weight: 400;
  font-size: 12px;
  line-height: 16px;
  color: #767676;
}
.dialog--plan-details .step-5__value-amount {
  font-family: "Exo 2", sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: 24px;
  color: #444444;
}
.dialog--plan-details .step-5__value-amount::before {
  font-family: "Nunito", sans-serif;
  font-weight: 700;
  font-size: 14px;
  line-height: 18px;
  color: #444444;
}
.dialog--plan-details .step-5__info-highlight {
  background-color: #ecf6e7;
  border-radius: 4px;
  padding: 12px 8px;
}
.dialog--plan-details .step-5__info-highlight p {
  font-family: "Nunito", sans-serif;
  font-weight: 400;
  font-size: 12px;
  line-height: 16px;
  color: #505050;
  text-align: center;
}
.dialog--plan-details .step-5__info-disclaimer p {
  font-family: "Nunito", sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 138%;
  color: #767676;
  text-align: left;
}
.dialog__close-button {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 40px;
  height: 40px;
  border: none;
  background-color: #f5f5f5;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background-color 0.2s ease;
  z-index: 10;
}
.dialog__close-button svg {
  width: 24px;
  height: 24px;
  color: #505050;
}
.dialog__close-button span {
  display: none;
}
.dialog__close-button:hover {
  background-color: #e8e8e8;
}
.dialog__close-button--with-text {
  width: auto;
  height: auto;
  border-radius: 8px;
  padding: 8px 16px;
  gap: 8px;
  background-color: transparent;
  top: 24px;
  left: 24px;
  right: auto;
}
.dialog__close-button--with-text svg {
  width: 20px;
  height: 20px;
  color: #33820c;
}
.dialog__close-button--with-text span {
  display: block;
  font-family: "Nunito", sans-serif;
  font-weight: 700;
  font-size: 16px;
  line-height: 24px;
  color: #33820c;
}
.dialog__close-button--with-text:hover {
  background-color: rgba(51, 130, 12, 0.08);
}
@media screen and (max-width: 768px) {
  .dialog__container {
    width: calc(100% - 32px);
    max-width: 448px;
    padding: 40px 24px;
  }
  .dialog__icon {
    margin-bottom: 24px;
  }
  .dialog__title {
    font-size: 18px;
    line-height: 22px;
    margin-bottom: 20px;
  }
  .dialog__content {
    margin-bottom: 28px;
  }
  .dialog__text {
    font-size: 14px;
    line-height: 20px;
  }
  .dialog__button {
    font-size: 18px;
    height: 48px;
  }
  .dialog--plan-details .dialog__container {
    width: calc(100% - 32px);
    max-width: 100%;
    max-height: 85vh;
    border-radius: 12px;
  }
  .dialog--plan-details .dialog__plan-content {
    padding: 56px 24px 24px;
  }
  .dialog--plan-details .dialog__close-button {
    top: 12px;
    right: 12px;
    width: 36px;
    height: 36px;
  }
}

.dialog--delivery-options .dialog__container--delivery {
  width: 614px;
  max-width: calc(100% - 32px);
  padding: 32px;
  gap: 10px;
}
.dialog--delivery-options .dialog__delivery-content {
  display: flex;
  flex-direction: column;
  gap: 28px;
  width: 100%;
}
.dialog--delivery-options .dialog__delivery-title {
  font-family: "Exo 2", sans-serif;
  font-weight: 700;
  font-size: 24px;
  line-height: 122%;
  color: #505050;
  margin: 0;
  text-align: left;
}
.dialog--delivery-options .dialog__delivery-options {
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: 100%;
}
.dialog--delivery-options .dialog__delivery-option {
  box-sizing: border-box;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  padding: 16px;
  width: 100%;
  border: 1px solid #f0f0f0;
  border-radius: 16px;
  cursor: pointer;
  transition: all 150ms ease-in-out;
  position: relative;
}
.dialog--delivery-options .dialog__delivery-option:hover {
  border-color: #33820d;
}
.dialog--delivery-options .dialog__delivery-option:has(.dialog__delivery-radio:checked) {
  background-color: #f9fcfd;
  border-color: #33820d;
}
.dialog--delivery-options .dialog__delivery-option:has(.dialog__delivery-radio:checked) .dialog__delivery-radio-custom {
  border-color: #33820d;
}
.dialog--delivery-options .dialog__delivery-option:has(.dialog__delivery-radio:checked) .dialog__delivery-radio-custom::after {
  opacity: 1;
}
.dialog--delivery-options .dialog__delivery-radio {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.dialog--delivery-options .dialog__delivery-option-info {
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex: 1;
  text-align: left;
}
.dialog--delivery-options .dialog__delivery-option-title {
  font-family: "Nunito", sans-serif;
  font-weight: 700;
  font-size: 16px;
  line-height: 138%;
  color: #444444;
  text-align: left;
}
.dialog--delivery-options .dialog__delivery-option-description {
  font-family: "Nunito", sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 138%;
  color: #767676;
  text-align: left;
}
.dialog--delivery-options .dialog__delivery-option-description.line-through {
  text-decoration: line-through;
  color: #afafaf;
  font-size: 12px;
  margin-top: 2px;
}
.dialog--delivery-options .dialog__delivery-option-description.obs {
  font-size: 12px;
  color: #767676;
  margin-top: 4px;
}
.dialog--delivery-options .dialog__delivery-radio-container {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: space-between;
  height: 100%;
  min-height: 48px;
}
.dialog--delivery-options .dialog__delivery-radio-custom {
  width: 24px;
  height: 24px;
  border: 2px solid #afafaf;
  border-radius: 50%;
  flex-shrink: 0;
  position: relative;
  transition: border-color 150ms ease-in-out;
}
.dialog--delivery-options .dialog__delivery-radio-custom::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 12px;
  height: 12px;
  background-color: #33820d;
  border-radius: 50%;
  opacity: 0;
  transition: all 150ms ease-in-out;
}
.dialog--delivery-options .dialog__delivery-option-price {
  font-family: "Nunito", sans-serif;
  font-weight: 700;
  font-size: 16px;
  line-height: 138%;
  color: #444444;
  margin-top: 8px;
}
.dialog--delivery-options .dialog__delivery-actions {
  display: flex;
  flex-direction: row;
  gap: 30px;
  width: 100%;
}
.dialog--delivery-options .dialog__button {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 16px 8px;
  height: 54px;
  border-radius: 8px;
  font-family: "Exo 2", sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: 24px;
  text-align: center;
  flex: 1;
  border: 0;
  cursor: pointer;
  transition: all 150ms ease-in-out;
}
.dialog--delivery-options .dialog__button--outline {
  border: 1.4px solid #33820d;
  background-color: transparent;
  color: #33820d;
}
.dialog--delivery-options .dialog__button--outline:hover {
  background-color: #f9fcfd;
}
.dialog--delivery-options .dialog__button--primary {
  background-color: #33820d;
  color: #ffffff;
}
.dialog--delivery-options .dialog__button--primary:hover {
  background-color: #2a6a0a;
}
.dialog--delivery-options .dialog__button--primary.dialog__button--disabled, .dialog--delivery-options .dialog__button--primary:disabled {
  background-color: #e1e6e1;
  color: #5a645a;
  cursor: not-allowed;
}
.dialog--delivery-options .dialog__button--primary.dialog__button--disabled:hover, .dialog--delivery-options .dialog__button--primary:disabled:hover {
  background-color: #e1e6e1;
}
@media screen and (max-width: 768px) {
  .dialog--delivery-options .dialog__container--delivery {
    width: 328px;
    max-width: calc(100% - 32px);
    padding: 20px;
  }
  .dialog--delivery-options .dialog__delivery-content {
    gap: 28px;
  }
  .dialog--delivery-options .dialog__delivery-title {
    font-size: 18px;
    line-height: 128%;
  }
  .dialog--delivery-options .dialog__delivery-options {
    gap: 28px;
  }
  .dialog--delivery-options .dialog__delivery-option {
    padding: 16px;
    min-height: 116px;
  }
  .dialog--delivery-options .dialog__delivery-radio-custom {
    width: 16px;
    height: 16px;
    border: 2px solid #afafaf;
    border-radius: 50%;
  }
  .dialog--delivery-options .dialog__delivery-radio-custom::after {
    width: 8px;
    height: 8px;
  }
  .dialog--delivery-options .dialog__delivery-option-title {
    font-size: 14px;
    line-height: 138%;
  }
  .dialog--delivery-options .dialog__delivery-option-description {
    font-size: 12px;
    line-height: 138%;
  }
  .dialog--delivery-options .dialog__delivery-option-price {
    font-size: 14px;
    line-height: 138%;
  }
  .dialog--delivery-options .dialog__delivery-actions {
    flex-direction: column-reverse;
    gap: 16px;
  }
  .dialog--delivery-options .dialog__button {
    width: 100%;
    height: 54px;
    font-size: 20px;
    line-height: 24px;
  }
  .dialog--delivery-options .dialog__button--outline {
    font-family: "Open Sans", sans-serif;
    font-size: 18px;
    line-height: 128%;
  }
}

.dialog--third-party-pickup .dialog__container--third-party {
  width: 614px;
  max-width: calc(100% - 32px);
  padding: 32px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.dialog--third-party-pickup .dialog__third-party-content {
  display: flex;
  flex-direction: column;
  gap: 40px;
  width: 100%;
}
.dialog--third-party-pickup .dialog__third-party-header {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
}
.dialog--third-party-pickup .dialog__third-party-title {
  font-family: "Exo 2", sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: 24px;
  color: #323c32;
  text-align: center;
  margin: 0;
}
.dialog--third-party-pickup .dialog__third-party-body {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 32px;
}
.dialog--third-party-pickup .dialog__third-party-text {
  font-family: "Nunito", sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 24px;
  color: #323c32;
  text-align: center;
  margin: 0;
}
.dialog--third-party-pickup .dialog__third-party-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: 100%;
}
.dialog--third-party-pickup .dialog__third-party-list-item {
  font-family: "Nunito", sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 24px;
  color: #323c32;
  text-align: left;
  padding-left: 24px;
  position: relative;
}
.dialog--third-party-pickup .dialog__third-party-list-item::before {
  content: "•";
  position: absolute;
  left: 8px;
  color: #323c32;
  font-weight: 700;
}
.dialog--third-party-pickup .dialog__third-party-actions {
  display: flex;
  flex-direction: row;
  gap: 30px;
  width: 100%;
}
.dialog--third-party-pickup .dialog__button {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 16px 8px;
  height: 54px;
  border-radius: 8px;
  font-family: "Exo 2", sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: 24px;
  text-align: center;
  flex: 1;
  border: 0;
  cursor: pointer;
  transition: all 150ms ease-in-out;
}
.dialog--third-party-pickup .dialog__button--outline {
  border: 1.4px solid #33820d;
  background-color: transparent;
  color: #33820d;
}
.dialog--third-party-pickup .dialog__button--outline:hover {
  background-color: #f9fcfd;
}
.dialog--third-party-pickup .dialog__button--primary {
  background-color: #33820d;
  color: #ffffff;
}
.dialog--third-party-pickup .dialog__button--primary:hover {
  background-color: #2a6a0a;
}
@media screen and (max-width: 768px) {
  .dialog--third-party-pickup .dialog__container--third-party {
    width: calc(100% - 32px);
    padding: 24px 16px;
  }
  .dialog--third-party-pickup .dialog__third-party-content {
    gap: 28px;
  }
  .dialog--third-party-pickup .dialog__third-party-title {
    font-size: 18px;
    line-height: 22px;
  }
  .dialog--third-party-pickup .dialog__third-party-body {
    gap: 20px;
  }
  .dialog--third-party-pickup .dialog__third-party-text {
    font-size: 14px;
    line-height: 20px;
  }
  .dialog--third-party-pickup .dialog__third-party-list {
    gap: 12px;
  }
  .dialog--third-party-pickup .dialog__third-party-list-item {
    font-size: 14px;
    line-height: 20px;
    padding-left: 20px;
  }
  .dialog--third-party-pickup .dialog__third-party-list-item::before {
    left: 6px;
  }
  .dialog--third-party-pickup .dialog__third-party-actions {
    flex-direction: column-reverse;
    gap: 16px;
  }
  .dialog--third-party-pickup .dialog__button {
    width: 100%;
    font-size: 18px;
  }
}

.dialog--change-address .dialog__container--address {
  width: 900px;
  max-width: calc(100% - 32px);
  padding: 32px;
}
.dialog--change-address .dialog__address-content {
  display: flex;
  flex-direction: column;
  gap: 32px;
  width: 100%;
}
.dialog--change-address .dialog__address-title {
  font-family: "Exo 2", sans-serif;
  font-weight: 700;
  font-size: 24px;
  line-height: 122%;
  color: #505050;
  margin: 0;
  text-align: center;
}
.dialog--change-address .dialog__address-form {
  display: flex;
  flex-direction: column;
  gap: 28px;
  width: 100%;
}
.dialog--change-address .dialog__address-row {
  display: grid;
  gap: 14px;
  width: 100%;
}
.dialog--change-address .dialog__address-row--cep-address {
  grid-template-columns: 1.2fr 2fr 1fr;
}
.dialog--change-address .dialog__address-row--four {
  grid-template-columns: repeat(4, 1fr);
}
.dialog--change-address .dialog__address-help-link {
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  font-family: "Nunito", sans-serif;
  font-weight: 400;
  font-size: 12px;
  line-height: 16px;
  color: #828a82;
  text-decoration: underline;
  white-space: nowrap;
  padding-left: 12px;
}
.dialog--change-address .dialog__address-help-link:hover {
  color: #33820d;
}
.dialog--change-address .dialog__address-checkbox {
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
}
.dialog--change-address .dialog__address-checkbox-input {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  width: 20px;
  height: 20px;
  border: 2px solid #60c33d;
  border-radius: 4px;
  cursor: pointer;
  flex-shrink: 0;
  position: relative;
  background-color: #ffffff;
  transition: all 0.2s ease;
  outline: none;
  margin: 0;
}
.dialog--change-address .dialog__address-checkbox-input:focus {
  outline: none;
  box-shadow: 0 0 0 2px rgba(96, 195, 61, 0.2);
}
.dialog--change-address .dialog__address-checkbox-input:checked {
  background-color: #60c33d;
  border-color: #60c33d;
}
.dialog--change-address .dialog__address-checkbox-input:checked::after {
  content: "";
  position: absolute;
  left: 5px;
  top: 2px;
  width: 4px;
  height: 8px;
  border: solid #ffffff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}
.dialog--change-address .dialog__address-checkbox-input:hover:not(:disabled) {
  border-color: #4fa932;
}
.dialog--change-address .dialog__address-checkbox-input:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  border-color: #ccc;
}
.dialog--change-address .dialog__address-checkbox-label {
  font-family: "Nunito", sans-serif;
  font-weight: 400;
  font-size: 13px;
  line-height: 1.2;
  color: #5a645a;
  user-select: none;
  text-align: left;
}
.dialog--change-address .dialog__address-actions {
  display: flex;
  flex-direction: row;
  gap: 30px;
  width: 100%;
  margin-top: 12px;
}
.dialog--change-address .dialog__button {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 16px 8px;
  height: 54px;
  border-radius: 8px;
  font-family: "Exo 2", sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: 24px;
  text-align: center;
  flex: 1;
  border: 0;
  cursor: pointer;
  transition: all 150ms ease-in-out;
}
.dialog--change-address .dialog__button--outline {
  border: 1.4px solid #33820d;
  background-color: transparent;
  color: #33820d;
}
.dialog--change-address .dialog__button--outline:hover {
  background-color: #f9fcfd;
}
.dialog--change-address .dialog__button--primary {
  background-color: #33820d;
  color: #ffffff;
}
.dialog--change-address .dialog__button--primary:hover {
  background-color: #2a6a0a;
}
@media screen and (max-width: 768px) {
  .dialog--change-address .dialog__container--address {
    width: calc(100% - 32px);
    padding: 24px 16px;
    max-height: 90vh;
    overflow-y: auto;
  }
  .dialog--change-address .dialog__address-content {
    gap: 24px;
  }
  .dialog--change-address .dialog__address-title {
    font-size: 20px;
    line-height: 24px;
  }
  .dialog--change-address .dialog__address-form {
    gap: 20px;
  }
  .dialog--change-address .dialog__address-row {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .dialog--change-address .dialog__address-row--cep-address, .dialog--change-address .dialog__address-row--four {
    grid-template-columns: 1fr;
  }
  .dialog--change-address .dialog__address-help-link {
    font-size: 12px;
    line-height: 16px;
  }
  .dialog--change-address .dialog__address-checkbox-label {
    font-size: 12px;
    line-height: 16px;
    color: #5a645a;
  }
  .dialog--change-address .dialog__address-actions {
    flex-direction: column-reverse;
    gap: 16px;
    margin-top: 8px;
  }
  .dialog--change-address .dialog__button {
    width: 100%;
    font-size: 18px;
  }
}

.dialog--find-store .dialog__container--find-store {
  width: 614px;
  max-width: calc(100% - 32px);
  padding: 32px;
  max-height: 90vh;
  overflow-y: auto;
}
.dialog--find-store .dialog__find-store-content {
  display: flex;
  flex-direction: column;
  width: 100%;
}
.dialog--find-store .dialog__find-store-title {
  font-family: "Exo 2", sans-serif;
  font-weight: 700;
  font-size: 24px;
  line-height: 122%;
  color: #505050;
  margin: 0;
  text-align: left;
}
.dialog--find-store .dialog__find-store-description {
  font-family: "Nunito", sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 138%;
  color: #767676;
  text-align: left;
  margin: 16px 0 0 0;
}
.dialog--find-store .dialog__find-store-search {
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding-block: 28px 16px;
}
.dialog--find-store .dialog__find-store-search .step__input-wrapper {
  width: 100%;
}
.dialog--find-store .dialog__find-store-search .step__input-container {
  width: 100%;
}
.dialog--find-store .dialog__find-store-location-btn {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  font-family: "Nunito", sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 24px;
  color: #323C32;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  align-self: flex-end;
  transition: color 150ms ease-in-out;
}
.dialog--find-store .dialog__find-store-location-btn:hover {
  color: #33820d;
}
.dialog--find-store .dialog__find-store-location-btn:hover svg circle,
.dialog--find-store .dialog__find-store-location-btn:hover svg line {
  stroke: #33820d;
}
.dialog--find-store .dialog__find-store-results {
  border: 1px solid #AFAFAF;
  border-radius: 8px;
  overflow: hidden;
  padding: 8px 16px;
  margin-bottom: 20px;
}
.dialog--find-store .dialog__find-store-item {
  border-bottom: 1px solid #AFAFAF;
}
.dialog--find-store .dialog__find-store-item:last-child {
  border-bottom: none;
}
.dialog--find-store .dialog__find-store-item-header {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 16px;
  padding-block: 8px;
  background: transparent;
  border: none;
  cursor: pointer;
  transition: background-color 150ms ease-in-out;
}
.dialog--find-store .dialog__find-store-item-header.active {
  border-bottom: 1px solid #E1E6E1;
}
.dialog--find-store .dialog__find-store-item-icon {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  flex-shrink: 0;
}
.dialog--find-store .dialog__find-store-item-icon svg {
  width: 24px;
  height: 24px;
  color: #444444;
}
.dialog--find-store .dialog__find-store-item-distance {
  font-family: "Nunito", sans-serif;
  font-weight: 400;
  font-size: 10px;
  line-height: 138%;
  color: #444444;
}
.dialog--find-store .dialog__find-store-item-info {
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex: 1;
  text-align: left;
}
.dialog--find-store .dialog__find-store-item-title {
  font-family: "Nunito", sans-serif;
  font-weight: 700;
  font-size: 14px;
  line-height: 138%;
  color: #444444;
}
.dialog--find-store .dialog__find-store-item-address {
  font-family: "Nunito", sans-serif;
  font-weight: 400;
  font-size: 12px;
  line-height: 138%;
  color: #444444;
}
.dialog--find-store .dialog__find-store-item-toggle {
  flex-shrink: 0;
}
.dialog--find-store .dialog__find-store-item-content {
  max-height: 0;
  overflow: hidden;
  transition: all 300ms ease-in-out;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.dialog--find-store .dialog__find-store-item-content.active {
  max-height: 500px;
}
.dialog--find-store .dialog__find-store-item-content a {
  margin: 0 auto;
}
.dialog--find-store .dialog__find-store-item-full-address {
  font-family: "Nunito", sans-serif;
  font-weight: 400;
  font-size: 12px;
  line-height: 138%;
  color: #323C32;
  margin: 0 0 4px 0;
  text-align: left;
  padding-top: 8px;
}
.dialog--find-store .dialog__find-store-item-hours {
  font-family: "Nunito", sans-serif;
  font-weight: 400;
  font-size: 12px;
  line-height: 138%;
  color: #323C32;
  margin: 0;
  text-align: left;
}
.dialog--find-store .dialog__find-store-item-hours strong {
  font-weight: 700;
}
.dialog--find-store .dialog__find-store-item-route-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 8px 12px;
  background-color: #33820C;
  color: #ffffff;
  font-family: "Nunito", sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 138%;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  transition: background-color 150ms ease-in-out;
  margin: 8px auto;
}
.dialog--find-store .dialog__find-store-item-route-btn:hover {
  background-color: #33820d;
}
.dialog--find-store .dialog__find-store-item-route-btn > svg {
  width: 24px;
  height: 24px;
}
.dialog--find-store .dialog__find-store-actions {
  display: flex;
  justify-content: center;
}
.dialog--find-store .dialog__button {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 16px 8px;
  height: 54px;
  border-radius: 8px;
  font-family: "Exo 2", sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: 24px;
  text-align: center;
  width: 260px;
  border: 0;
  cursor: pointer;
  transition: all 150ms ease-in-out;
}
.dialog--find-store .dialog__button--outline {
  border: 1.4px solid #33820d;
  background-color: transparent;
  color: #33820d;
}
.dialog--find-store .dialog__button--outline:hover {
  background-color: #f9fcfd;
}
.dialog--find-store .dialog__button--primary {
  background-color: #33820d;
  color: #ffffff;
  border: none;
}
.dialog--find-store .dialog__button--primary:hover {
  background-color: #2a6609;
}
@media screen and (max-width: 768px) {
  .dialog--find-store .dialog__container--find-store {
    width: 2 328px;
    max-width: calc(100% - 32px);
    padding: 20px 16px;
    border-radius: 8px;
  }
  .dialog--find-store .dialog__find-store-title {
    font-size: 20px;
    line-height: 24px;
    font-weight: 700;
  }
  .dialog--find-store .dialog__find-store-description {
    font-size: 14px;
    line-height: 18px;
    margin-top: 12px;
  }
  .dialog--find-store .dialog__find-store-location-btn {
    font-size: 14px;
    line-height: 138%;
  }
  .dialog--find-store .dialog__find-store-results {
    padding: 4px 8px;
  }
  .dialog--find-store .dialog__find-store-item-header {
    gap: 12px;
  }
  .dialog--find-store .dialog__find-store-item-icon {
    width: 35px;
  }
  .dialog--find-store .dialog__find-store-item-icon svg {
    width: 24px;
    height: 24px;
  }
  .dialog--find-store .dialog__find-store-item-distance {
    font-size: 10px;
  }
  .dialog--find-store .dialog__find-store-item-info {
    gap: 2px;
  }
  .dialog--find-store .dialog__find-store-item-title {
    font-size: 14px;
    line-height: 138%;
  }
  .dialog--find-store .dialog__find-store-item-address {
    font-size: 12px;
    line-height: 138%;
  }
  .dialog--find-store .dialog__find-store-item-content.active {
    max-height: 400px;
  }
  .dialog--find-store .dialog__find-store-item-full-address {
    font-size: 12px;
    line-height: 138%;
    margin-bottom: 4px;
  }
  .dialog--find-store .dialog__find-store-item-hours {
    font-size: 12px;
    line-height: 138%;
    margin-bottom: 0;
  }
  .dialog--find-store .dialog__find-store-item-route-btn {
    width: 134px;
    height: 40px;
    padding: 8px 12px;
    font-size: 14px;
    line-height: 138%;
  }
  .dialog--find-store .dialog__find-store-item-route-btn svg {
    width: 24px;
    height: 24px;
  }
  .dialog--find-store .dialog__find-store-actions {
    display: flex;
    flex-direction: column-reverse;
  }
  .dialog--find-store .dialog__button {
    width: 100%;
    height: 54px;
    font-size: 18px;
    line-height: 128%;
    font-family: "Open Sans", sans-serif;
  }
}

.mobile-banner {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  background-color: #ffffff;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  z-index: 9999;
  padding: 16px 20px;
  height: 78px;
  justify-content: center;
}
.mobile-banner__content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  max-width: 100%;
}
.mobile-banner__text {
  margin: 0;
  font-family: "Nunito", sans-serif;
  font-size: 14px;
  line-height: 138%;
  color: #444444;
  flex: 1;
}
.mobile-banner__close {
  background: none;
  border: 1.5px solid #444444;
  color: #444444;
  cursor: pointer;
  border-radius: 50%;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: color 0.2s ease;
}
@media screen and (max-width: 768px) {
  .mobile-banner {
    display: flex;
  }
  .mobile-banner.hidden {
    display: none;
  }
}

.stepper {
  display: flex;
  align-items: center;
  gap: 12px;
}
.stepper__logos {
  display: none;
}
.stepper__nav {
  display: flex;
  align-items: center;
  gap: 12px;
}
.stepper__back-button {
  display: none;
}
.stepper__steps {
  display: flex;
  align-items: center;
  gap: 12px;
}
.stepper__step {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  position: relative;
}
.stepper__step .stepper__icon {
  width: 56px;
  min-width: 56px;
  height: 56px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #e8e8e8;
  border: 2px solid #e8e8e8;
  flex-shrink: 0;
  transition: all 0.2s ease;
  padding: 0;
  gap: 0;
}
.stepper__step .stepper__icon svg {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
}
.stepper__step .stepper__icon svg path[fill-rule] {
  fill: #5a645a;
}
.stepper__step .stepper__icon svg path[stroke] {
  stroke: #5a645a;
}
.stepper__step .stepper__label {
  font-family: "Nunito", sans-serif;
  font-weight: 700;
  font-size: 14px;
  line-height: 20px;
  color: #5a645a;
  white-space: nowrap;
  text-align: left;
  display: none;
}
.stepper__step--completed .stepper__icon {
  width: 56px;
  min-width: 56px;
  height: 56px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 16px;
  gap: 8px;
  background-color: #33820c;
  border: 2px solid #33820c;
}
.stepper__step--completed .stepper__icon svg path[fill-rule] {
  fill: #ffffff;
}
.stepper__step--completed .stepper__icon svg path[stroke] {
  stroke: #ffffff;
}
.stepper__step--completed .stepper__label {
  display: none;
  color: #ffffff;
  font-weight: 600;
}
.stepper__step--active .stepper__icon {
  width: auto;
  border-radius: 28px;
  padding: 0 16px;
  gap: 8px;
  background-color: #ffffff;
  border: 2px solid #33820c;
}
.stepper__step--active .stepper__icon svg path[fill-rule] {
  fill: #33820c;
}
.stepper__step--active .stepper__icon svg path[stroke] {
  stroke: #33820c;
}
.stepper__step--active .stepper__label {
  display: block;
  color: #33820c;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .stepper {
    flex-direction: column;
    gap: 16px;
    width: 100%;
  }
  .stepper__logos {
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
    padding-bottom: 4px;
    width: 100%;
  }
  .stepper__logo {
    height: auto;
    max-height: 18px;
    width: auto;
    object-fit: contain;
  }
  .stepper__logo:first-child {
    max-width: 72px;
  }
  .stepper__logo:last-child {
    max-width: 85px;
  }
  .stepper__logos-separator {
    width: 1px;
    height: 27px;
    background-color: #cdd3cd;
  }
  .stepper__nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0;
    gap: 12px;
    width: 100%;
  }
  .stepper__back-button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    min-width: 28px;
    background-color: #fafafa;
    border-radius: 8px;
    border: none;
    cursor: pointer;
    padding: 6px;
    flex-shrink: 0;
  }
  .stepper__back-button svg {
    width: 16px;
    height: 16px;
    color: #5a645a;
  }
  .stepper__steps {
    gap: 12px;
    justify-content: flex-end;
  }
  .stepper__step {
    gap: 6px;
  }
  .stepper__step .stepper__icon {
    width: 32px;
    min-width: 32px;
    height: 32px;
    padding: 4px;
  }
  .stepper__step .stepper__icon svg {
    width: 16px;
    height: 16px;
  }
  .stepper__step--active .stepper__icon {
    width: auto;
    border-radius: 1000px;
    padding: 4px 4px 4px 4px;
    gap: 4px;
  }
  .stepper__step--active .stepper__label {
    font-size: 14px;
    line-height: 18px;
  }
  .stepper__step--completed .stepper__icon, .stepper__step:not(.stepper__step--active) .stepper__icon {
    width: 32px;
    min-width: 32px;
    height: 32px;
    border-radius: 1000px;
    padding: 4px;
    gap: 0;
  }
  .stepper__step--completed .stepper__icon svg, .stepper__step:not(.stepper__step--active) .stepper__icon svg {
    width: 16px;
    height: 16px;
  }
}

.step-4 .stepper .stepper__step:nth-child(1) .stepper__icon {
  background-color: #33820c;
  border-color: #33820c;
}
.step-4 .stepper .stepper__step:nth-child(1) .stepper__icon svg path[fill-rule] {
  fill: #ffffff;
}
.step-4 .stepper .stepper__step:nth-child(1) .stepper__icon svg path[stroke] {
  stroke: #ffffff;
}
.step-4 .stepper .stepper__step:nth-child(1) .stepper__label {
  display: none;
}
.step-4 .stepper .stepper__step:nth-child(2) .stepper__icon {
  width: auto;
  border-radius: 28px;
  padding: 0 16px;
  gap: 8px;
  background-color: #ffffff;
  border-color: #33820c;
}
.step-4 .stepper .stepper__step:nth-child(2) .stepper__icon svg path[fill-rule] {
  fill: #33820c;
}
.step-4 .stepper .stepper__step:nth-child(2) .stepper__icon svg path[stroke] {
  stroke: #33820c;
}
.step-4 .stepper .stepper__step:nth-child(2) .stepper__label {
  display: block;
  color: #33820c;
}

.step-5 .stepper .stepper__step:nth-child(1) .stepper__icon,
.step-payment .stepper .stepper__step:nth-child(1) .stepper__icon {
  background-color: #33820c;
  border-color: #33820c;
}
.step-5 .stepper .stepper__step:nth-child(1) .stepper__icon svg path[fill-rule],
.step-payment .stepper .stepper__step:nth-child(1) .stepper__icon svg path[fill-rule] {
  fill: #ffffff;
}
.step-5 .stepper .stepper__step:nth-child(1) .stepper__icon svg path[stroke],
.step-payment .stepper .stepper__step:nth-child(1) .stepper__icon svg path[stroke] {
  stroke: #ffffff;
}
.step-5 .stepper .stepper__step:nth-child(1) .stepper__label,
.step-payment .stepper .stepper__step:nth-child(1) .stepper__label {
  display: none;
}
.step-5 .stepper .stepper__step:nth-child(2) .stepper__icon,
.step-payment .stepper .stepper__step:nth-child(2) .stepper__icon {
  background-color: #33820c;
  border-color: #33820c;
}
.step-5 .stepper .stepper__step:nth-child(2) .stepper__icon svg path[fill-rule],
.step-payment .stepper .stepper__step:nth-child(2) .stepper__icon svg path[fill-rule] {
  fill: #ffffff;
}
.step-5 .stepper .stepper__step:nth-child(2) .stepper__icon svg path[stroke],
.step-payment .stepper .stepper__step:nth-child(2) .stepper__icon svg path[stroke] {
  stroke: #ffffff;
}
.step-5 .stepper .stepper__step:nth-child(2) .stepper__label,
.step-payment .stepper .stepper__step:nth-child(2) .stepper__label {
  display: none;
}
.step-5 .stepper .stepper__step:nth-child(3) .stepper__icon,
.step-payment .stepper .stepper__step:nth-child(3) .stepper__icon {
  width: auto;
  border-radius: 28px;
  padding: 0 16px;
  gap: 8px;
  background-color: #ffffff;
  border-color: #33820c;
}
.step-5 .stepper .stepper__step:nth-child(3) .stepper__icon svg path[fill-rule],
.step-payment .stepper .stepper__step:nth-child(3) .stepper__icon svg path[fill-rule] {
  fill: #33820c;
}
.step-5 .stepper .stepper__step:nth-child(3) .stepper__icon svg path[stroke],
.step-payment .stepper .stepper__step:nth-child(3) .stepper__icon svg path[stroke] {
  stroke: #33820c;
}
.step-5 .stepper .stepper__step:nth-child(3) .stepper__label,
.step-payment .stepper .stepper__step:nth-child(3) .stepper__label {
  display: block;
  color: #33820c;
}

.step-confirmation .stepper .stepper__step:nth-child(1) .stepper__icon,
.step-confirmation-shipping .stepper .stepper__step:nth-child(1) .stepper__icon {
  background-color: #33820c;
  border-color: #33820c;
}
.step-confirmation .stepper .stepper__step:nth-child(1) .stepper__icon svg path[fill-rule],
.step-confirmation-shipping .stepper .stepper__step:nth-child(1) .stepper__icon svg path[fill-rule] {
  fill: #ffffff;
}
.step-confirmation .stepper .stepper__step:nth-child(1) .stepper__icon svg path[stroke],
.step-confirmation-shipping .stepper .stepper__step:nth-child(1) .stepper__icon svg path[stroke] {
  stroke: #ffffff;
}
.step-confirmation .stepper .stepper__step:nth-child(1) .stepper__label,
.step-confirmation-shipping .stepper .stepper__step:nth-child(1) .stepper__label {
  display: none;
}
.step-confirmation .stepper .stepper__step:nth-child(2) .stepper__icon,
.step-confirmation-shipping .stepper .stepper__step:nth-child(2) .stepper__icon {
  background-color: #33820c;
  border-color: #33820c;
}
.step-confirmation .stepper .stepper__step:nth-child(2) .stepper__icon svg path[fill-rule],
.step-confirmation-shipping .stepper .stepper__step:nth-child(2) .stepper__icon svg path[fill-rule] {
  fill: #ffffff;
}
.step-confirmation .stepper .stepper__step:nth-child(2) .stepper__icon svg path[stroke],
.step-confirmation-shipping .stepper .stepper__step:nth-child(2) .stepper__icon svg path[stroke] {
  stroke: #ffffff;
}
.step-confirmation .stepper .stepper__step:nth-child(2) .stepper__label,
.step-confirmation-shipping .stepper .stepper__step:nth-child(2) .stepper__label {
  display: none;
}
.step-confirmation .stepper .stepper__step:nth-child(3) .stepper__icon,
.step-confirmation-shipping .stepper .stepper__step:nth-child(3) .stepper__icon {
  background-color: #33820c;
  border-color: #33820c;
}
.step-confirmation .stepper .stepper__step:nth-child(3) .stepper__icon svg path[fill-rule],
.step-confirmation-shipping .stepper .stepper__step:nth-child(3) .stepper__icon svg path[fill-rule] {
  fill: #ffffff;
}
.step-confirmation .stepper .stepper__step:nth-child(3) .stepper__icon svg path[stroke],
.step-confirmation-shipping .stepper .stepper__step:nth-child(3) .stepper__icon svg path[stroke] {
  stroke: #ffffff;
}
.step-confirmation .stepper .stepper__step:nth-child(3) .stepper__label,
.step-confirmation-shipping .stepper .stepper__step:nth-child(3) .stepper__label {
  display: none;
}
.step-confirmation .stepper .stepper__step:nth-child(4) .stepper__icon,
.step-confirmation-shipping .stepper .stepper__step:nth-child(4) .stepper__icon {
  width: auto;
  border-radius: 28px;
  padding: 0 16px;
  gap: 8px;
  background-color: #ffffff;
  border-color: #33820c;
}
.step-confirmation .stepper .stepper__step:nth-child(4) .stepper__icon svg path[fill-rule],
.step-confirmation-shipping .stepper .stepper__step:nth-child(4) .stepper__icon svg path[fill-rule] {
  fill: #33820c;
}
.step-confirmation .stepper .stepper__step:nth-child(4) .stepper__icon svg path[stroke],
.step-confirmation-shipping .stepper .stepper__step:nth-child(4) .stepper__icon svg path[stroke] {
  stroke: #33820c;
}
.step-confirmation .stepper .stepper__step:nth-child(4) .stepper__label,
.step-confirmation-shipping .stepper .stepper__step:nth-child(4) .stepper__label {
  display: block;
  color: #33820c;
}

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  flex-shrink: 0;
  height: 60px;
  width: 260px;
  padding: 14px 48px;
  font-family: "Open Sans", sans-serif;
  font-weight: 700;
  font-size: 18px;
  line-height: 28px;
  border-radius: 8px;
  border: 0;
  cursor: pointer;
  transition: all 0.2s ease;
}
.button--primary {
  background-color: #33820c;
  color: #ffffff;
  border: 0;
}
.button--primary:hover {
  background-color: #2a6b0a;
}
.button--primary:disabled {
  background-color: #d0d0d0;
  color: #888888;
  cursor: not-allowed;
}
.button--outline {
  background-color: transparent;
  color: #33820c;
  border: 2px solid #33820c;
}
.button--outline:hover {
  background-color: rgba(51, 130, 12, 0.08);
}
.button--outline:disabled {
  background-color: transparent;
  color: #aaa;
  border-color: #d0d0d0;
  cursor: not-allowed;
}
.button.loading {
  position: relative;
  pointer-events: none;
  color: transparent !important;
}
.button.loading::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 20px;
  height: 20px;
  border: 2px solid #505050;
  border-top-color: rgba(80, 80, 80, 0.1254901961);
  border-radius: 50%;
  animation: button-spin 0.6s linear infinite;
}
.button.loading.button--primary::after {
  border-color: #ffffff;
  border-top-color: transparent;
}
.button.loading.button--outline::after {
  border-color: #33820c;
  border-top-color: transparent;
}
@media screen and (max-width: 768px) {
  .button {
    width: 100%;
    height: 56px;
    font-size: 18px;
    line-height: 24px;
    padding: 14px 32px;
  }
}

@keyframes button-spin {
  from {
    transform: translate(-50%, -50%) rotate(0deg);
  }
  to {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}
.button-group {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  margin-top: 32px;
  width: 100%;
}
.step-3 .button-group {
  justify-content: flex-end;
}
@media screen and (max-width: 768px) {
  .button-group {
    flex-direction: column-reverse;
    gap: 12px;
  }
}

.tag-card {
  width: 100%;
  padding: 30px 60px;
  height: 100%;
  border-radius: 16px;
  background-color: #faf9f9;
  margin: auto;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 0;
}
.tag-card__content {
  text-align: center;
}
.tag-card__text {
  font-family: "Open Sans", sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 26px;
  color: #505050;
  margin: 0;
}
.tag-card__text strong {
  font-weight: 700;
}
.tag-card__image {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex: 1;
}
.tag-card__image img {
  width: 100%;
  max-width: 400px;
  height: auto;
  object-fit: contain;
}
.tag-card__logos {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  padding-top: 20px;
}
.tag-card__logo {
  max-width: 120px;
  height: auto;
  object-fit: contain;
}
.tag-card__logo:last-child {
  border-left: 2px solid #cdd3cd;
  padding-left: 20px;
}

.step__input-wrapper {
  position: relative;
  width: 100%;
  display: inline-flex;
  flex-direction: column;
}
.step__input-wrapper--error .step__input-fieldset {
  border-color: #97002b;
}
.step__input-wrapper--error .step__input-container:focus-within .step__input-fieldset {
  border-color: #97002b;
}
.step__input-wrapper--error .step__input-label {
  color: #97002b;
}
.step__input-wrapper--error .step__input-legend {
  color: #97002b;
}
.step__input-wrapper--disabled {
  opacity: 1;
}
.step__input-wrapper--disabled .step__input {
  opacity: 0.6;
}
.step__input-wrapper--disabled .step__input-label {
  opacity: 0.6;
  background-color: #e1e6e1 !important;
}
.step__input-wrapper--disabled .step__input-fieldset {
  opacity: 0.6;
}
.step__input-wrapper--disabled .step__input-fieldset .step__input-legend span {
  background-color: #e1e6e1 !important;
}
.step__input-wrapper--disabled .step__input-legend {
  max-width: 100%;
  visibility: visible;
}
.step__input-wrapper--disabled .step__input-legend span {
  opacity: 1;
}

.step__input-container {
  position: relative;
  display: inline-flex;
  flex-direction: column;
  width: 100%;
  overflow: visible;
}
.step__input-container:focus-within .step__input-fieldset {
  border-color: #33820c;
}
.step__input-container:has(.step__input:disabled) .step__input-label, .step__input-container:has(.step__input.disabled) .step__input-label {
  color: #888888;
  opacity: 1;
  background-color: #e1e6e1;
}
.step__input-container:has(.step__input:disabled) .step__input-fieldset, .step__input-container:has(.step__input.disabled) .step__input-fieldset {
  border-color: #e0e0e0;
}
.step__input-container:has(.step__input:disabled) .step__input-fieldset .step__input-legend span, .step__input-container:has(.step__input.disabled) .step__input-fieldset .step__input-legend span {
  background-color: #e1e6e1;
}
.step__input-container:has(.step__input:disabled) .step__input-icon, .step__input-container:has(.step__input.disabled) .step__input-icon {
  color: #5a645a;
}

.step__input {
  font-family: "Nunito", sans-serif;
  background-color: #ffffff;
  border: none;
  padding: 16px;
  font-size: 14px;
  line-height: 24px;
  font-weight: 700;
  min-width: 0;
  width: 100%;
  border-radius: 8px;
  height: 56px;
  color: #0e0d0d;
  outline: none;
  transition: all 0.2s ease;
}
.step__input::placeholder {
  color: transparent;
}
.step__input:focus, .step__input:focus-visible {
  outline: none;
}
.step__input:disabled, .step__input.disabled {
  background-color: #e1e6e1;
  color: #888888;
  border: 2px solid #afafaf;
  cursor: not-allowed;
}
.step__input:disabled::placeholder, .step__input.disabled::placeholder {
  background-color: #e1e6e1;
}
.step__input:disabled ~ .step__input-label, .step__input.disabled ~ .step__input-label {
  color: #888888;
  background-color: #e1e6e1 !important;
}
.step__input:disabled:focus ~ .step__input-label, .step__input:disabled:not(:placeholder-shown) ~ .step__input-label, .step__input.disabled:focus ~ .step__input-label, .step__input.disabled:not(:placeholder-shown) ~ .step__input-label {
  background-color: #e1e6e1;
}
.step__input:disabled ~ .step__input-fieldset, .step__input.disabled ~ .step__input-fieldset {
  border-color: #e0e0e0;
}
.step__input:disabled ~ .step__input-fieldset .step__input-legend span, .step__input.disabled ~ .step__input-fieldset .step__input-legend span {
  background-color: #e1e6e1;
}
.step__input:disabled:focus ~ .step__input-fieldset .step__input-legend span, .step__input:disabled:not(:placeholder-shown) ~ .step__input-fieldset .step__input-legend span, .step__input.disabled:focus ~ .step__input-fieldset .step__input-legend span, .step__input.disabled:not(:placeholder-shown) ~ .step__input-fieldset .step__input-legend span {
  background-color: #e1e6e1;
}
.step__input:disabled .step__input-legend span, .step__input.disabled .step__input-legend span {
  background-color: #e1e6e1;
}
.step__input:disabled ~ .step__input-icon, .step__input.disabled ~ .step__input-icon {
  color: #5a645a;
}
.step__input--full {
  width: 100%;
}
.step__input--with-icon {
  padding-right: 48px;
}
.step__input:focus ~ .step__input-fieldset .step__input-legend, .step__input:not(:placeholder-shown) ~ .step__input-fieldset .step__input-legend {
  max-width: 100%;
  transition: max-width 100ms cubic-bezier(0, 0, 0.2, 1) 50ms;
}
.step__input:focus ~ .step__input-label, .step__input:not(:placeholder-shown) ~ .step__input-label {
  transform: translate(-6px, -36px);
  font-size: 12px;
}

.step__input-fieldset {
  position: absolute;
  top: -5px;
  left: 0;
  right: 0;
  bottom: 0;
  margin: 0;
  padding: 0 8px;
  pointer-events: none;
  border-radius: 8px;
  border: 1px solid #e1e6e1;
  transition: border-color 0.15s ease-in-out;
  overflow: hidden;
  min-width: 0;
  text-align: left;
}

.step__input-legend {
  font-family: "Nunito", sans-serif;
  font-weight: 400;
  font-size: 12px;
  line-height: 11px;
  color: #5a645a;
  padding: 0;
  max-width: 0.01px;
  visibility: hidden;
  transition: max-width 50ms cubic-bezier(0, 0, 0.2, 1) 0ms;
  white-space: nowrap;
}
.step__input-legend > span {
  display: inline-block;
  padding-left: 5px;
  padding-right: 5px;
  opacity: 0;
  background-color: #ffffff;
}

.step__input-label {
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  font-family: "Nunito", sans-serif;
  font-weight: 400;
  font-size: 14px;
  color: #5a645a;
  pointer-events: none;
  transition: color 200ms cubic-bezier(0, 0, 0.2, 1) 0ms, transform 200ms cubic-bezier(0, 0, 0.2, 1) 0ms, font-size 200ms cubic-bezier(0, 0, 0.2, 1) 0ms;
  transform-origin: left top;
  z-index: 1;
  background-color: #ffffff;
  padding: 0 4px;
}

.step__input-wrapper:focus-within .step__input-label,
.step__input-wrapper:has(.step__input:not(:placeholder-shown)) .step__input-label {
  transform: translate(-6px, -36px);
  font-size: 12px;
}

.step__input-wrapper:focus-within .step__input-legend,
.step__input-wrapper:has(.step__input:not(:placeholder-shown)) .step__input-legend {
  max-width: 100%;
  visibility: visible;
}

.step__input-wrapper:focus-within .step__input-legend span,
.step__input-wrapper:has(.step__input:not(:placeholder-shown)) .step__input-legend span {
  opacity: 1;
}

.step__input-icon {
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  color: #33820c;
  z-index: 1;
}

.step__input-error-message {
  display: none;
  font-family: "Nunito", sans-serif;
  font-weight: 400;
  font-size: 12px;
  line-height: 16px;
  color: #97002b;
  margin-top: 8px;
  padding-left: 0;
}

.step__input-wrapper--error .step__input-error-message {
  display: block;
}

@media screen and (max-width: 768px) {
  .step__input {
    height: 56px;
    font-size: 14px;
    line-height: 24px;
    font-weight: 700;
  }
  .step__input-label {
    font-size: 16px;
  }
  .step__input:focus ~ .step__input-label,
.step__input:not(:placeholder-shown) ~ .step__input-label {
    font-size: 12px;
  }
  .step__input-wrapper:focus-within .step__input-label,
.step__input-wrapper:has(.step__input:not(:placeholder-shown)) .step__input-label {
    font-size: 12px;
  }
}
.step__select-options {
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  right: 0;
  margin: 4px 0 0;
  padding: 4px 0;
  list-style: none;
  padding-left: 0;
  background-color: #ffffff;
  border-radius: 8px;
  max-height: 240px;
  overflow-y: auto;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.12);
  border: 1px solid #e1e6e1;
  z-index: 20;
  display: none;
  box-sizing: border-box;
}

.step__input-container--open .step__select-options {
  display: block;
}

.step__select-options-item {
  font-family: "Nunito", sans-serif;
  font-size: 14px;
  line-height: 20px;
  padding: 8px 12px;
  cursor: pointer;
  color: #0e0d0d;
}

.step__select-options-item:hover,
.step__select-options-item--active {
  background-color: #f1f5f1;
}

.step__select-options-item--no-result {
  cursor: default;
  color: #888888;
}

/* ================================
   AUTOCOMPLETE / FAKE SELECT STYLE
   Só para wrappers com .js-autocomplete-select
   ================================ */
.js-autocomplete-select {
  /* Texto mais “select” e espaço para a seta */
  /* Chevrón (seta) à direita – estado FECHADO (↓) */
  /* Lupa – usa o .step__input-icon dentro do autocomplete
     (escondida por padrão, só aparece quando abre) */
  /* Quando o autocomplete estiver ABERTO */
  /* Dropdown da lista – “caixa” verde, colada no campo */
}
.js-autocomplete-select .step__input-container {
  cursor: pointer;
}
.js-autocomplete-select .step__input {
  padding-right: 48px;
  font-weight: 700;
}
.js-autocomplete-select .step__input-container::after {
  content: "";
  position: absolute;
  right: 24px;
  top: 50%;
  width: 10px;
  height: 10px;
  border-right: 2px solid #4e564e;
  border-bottom: 2px solid #4e564e;
  transform: translateY(-50%) rotate(45deg);
  pointer-events: none;
  transition: transform 0.15s ease, top 0.15s ease;
}
.js-autocomplete-select .step__input-icon--search {
  position: absolute;
  left: 18px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.15s ease;
}
.js-autocomplete-select .step__input-container.step__input-container--open {
  /* borda “ativa” tipo o exemplo verde */
  /* Chevrón vira seta pra cima (∧) e sobe um tiquinho */
  /* Mostra a lupa e empurra o texto pra direita */
}
.js-autocomplete-select .step__input-container.step__input-container--open .step__input-fieldset {
  border-color: #33820c;
  box-shadow: 0 0 0 1px #33820c;
}
.js-autocomplete-select .step__input-container.step__input-container--open::after {
  transform: translateY(-50%) rotate(-135deg);
  top: 52%;
}
.js-autocomplete-select .step__input-container.step__input-container--open .step__input-icon--search {
  opacity: 1;
}
.js-autocomplete-select .step__input-container.step__input-container--open .step__input {
  padding-left: 48px;
}
.js-autocomplete-select .step__select-options {
  margin-top: 4px;
  border-radius: 24px;
  border-color: #33820c;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.12);
  padding: 8px 0;
}
.js-autocomplete-select .step__select-options-item {
  font-size: 14px;
  line-height: 24px;
  padding: 12px 24px;
  font-weight: 700;
  border-bottom: 1px solid #eef1ee;
}
.js-autocomplete-select .step__select-options-item:last-child {
  border-bottom: none;
}
.js-autocomplete-select .step__select-options-item:hover,
.js-autocomplete-select .step__select-options-item--active {
  background-color: #f4faf4;
}

.step-login {
  background-color: #ffffff;
  display: flex;
  padding: 20px;
  min-height: 100svh;
}
.step-login__container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  flex: 1;
}
.step-login__banner {
  border-radius: 16px;
  overflow: hidden;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 28px 66px 0;
}
.step-login__banner-logos {
  color: #ffffff;
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  justify-content: center;
  gap: 20px;
  position: relative;
  z-index: 2;
}
.step-login__banner-logos > *:nth-child(1) {
  width: 100%;
  max-width: 122px;
  height: auto;
  margin: 7px 14px;
}
.step-login__banner-logos > *:nth-child(3) {
  width: 100%;
  max-width: 48px;
  height: auto;
  display: block;
}
.step-login__banner-logos > *:nth-child(4) {
  width: 100%;
  max-width: 106px;
  height: auto;
  display: none;
}
.step-login__banner-logos-separator {
  display: block;
  width: 1px;
  height: 36px;
  background-color: #ffffff;
}
.step-login__banner-content {
  margin-bottom: 24vh;
  position: relative;
  z-index: 2;
}
.step-login__banner-title {
  font-family: "Exo 2", sans-serif;
  font-weight: 400;
  font-size: 24px;
  color: #ffffff;
  line-height: 40px;
  display: flex;
  flex-direction: column;
  margin-bottom: 16px;
}
.step-login__banner-title--highlight {
  font-weight: 700;
  font-size: 32px;
  line-height: 40px;
  color: #ffffff;
}
.step-login__banner-title--mobile-only {
  display: none;
}
.step-login__banner-badge {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.step-login__banner-badge-title {
  font-family: "Exo 2", sans-serif;
  font-weight: 700;
  font-size: 24px;
  line-height: 32px;
  color: #ffffff;
}
.step-login__banner-badge-text {
  font-family: "Nunito", sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 24px;
  color: #ffffff;
}
.step-login__banner-image {
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  object-fit: cover;
  z-index: 1;
  pointer-events: none;
  user-select: none;
}
.step-login__form {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 28px;
}
.step-login__form-wrapper {
  border-radius: 16px;
  overflow: hidden;
  background-color: #faf9f9;
  display: flex;
  flex-direction: column;
}
.step-login__form-header {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 28px 56px 96px;
}
.step-login__form-title {
  font-family: "Exo 2", sans-serif;
  font-weight: 400;
  font-size: 24px;
  line-height: 32px;
  text-align: center;
  color: #505050;
}
.step-login__form-title--highlight {
  font-weight: 700;
}
.step-login__form-subtitle {
  font-family: "Exo 2", sans-serif;
  font-weight: 400;
  font-size: 20px;
  line-height: 24px;
  text-align: center;
  color: #767676;
}
.step-login__inputs-wrapper {
  padding: 0 56px;
  width: 100%;
  max-width: 540px;
  display: flex;
  flex-direction: column;
  gap: 36px;
}
.step-login__input {
  font-family: "Nunito", sans-serif;
  background-color: #ffffff;
  border: none;
  padding: 16px;
  font-size: 16px;
  line-height: 24px;
  min-width: 0;
  width: 100%;
  border-radius: 8px;
  font-weight: 700;
}
.step-login__input::placeholder {
  color: transparent;
}
.step-login__input:focus, .step-login__input:focus-visible {
  outline: none;
}
.step-login__input:disabled {
  background-color: #e1e6e1;
  cursor: not-allowed;
}
.step-login__input--full {
  width: 100%;
}
.step-login__input--with-icon {
  padding-right: 48px;
}
.step-login__input-wrapper {
  position: relative;
  width: 100%;
  display: inline-flex;
  flex-direction: column;
}
.step-login__input-container {
  position: relative;
  display: inline-flex;
  flex-direction: column;
  width: 100%;
}
.step-login__input-fieldset {
  position: absolute;
  top: -5px;
  left: 0;
  right: 0;
  bottom: 0;
  margin: 0;
  padding: 0 8px;
  pointer-events: none;
  border-radius: 8px;
  border: 1px solid #e1e6e1;
  transition: border-color 0.15s ease-in-out;
  overflow: hidden;
  min-width: 0;
}
.step-login__input-container:focus-within .step-login__input-fieldset {
  border-color: #33820d;
}
.step-login__input-container:has(.step-login__input:disabled) .step-login__input-fieldset {
  border-color: #afafaf;
}
.step-login__input-legend {
  font-family: "Nunito", sans-serif;
  font-weight: 400;
  font-size: 12px;
  line-height: 11px;
  color: #5a645a;
  padding: 0;
  max-width: 0.01px;
  visibility: hidden;
  transition: max-width 50ms cubic-bezier(0, 0, 0.2, 1) 0ms;
  white-space: nowrap;
}
.step-login__input-legend > span {
  display: inline-block;
  padding-left: 5px;
  padding-right: 5px;
  opacity: 0;
}
.step-login__input:focus ~ .step-login__input-fieldset .step-login__input-legend, .step-login__input:not(:placeholder-shown) ~ .step-login__input-fieldset .step-login__input-legend {
  max-width: 100%;
  transition: max-width 100ms cubic-bezier(0, 0, 0.2, 1) 50ms;
}
.step-login__input-icon {
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  color: #33820d;
  z-index: 1;
}
.step-login__input-label {
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  font-family: "Nunito", sans-serif;
  font-weight: 400;
  font-size: 16px;
  color: #5a645a;
  pointer-events: none;
  transition: color 200ms cubic-bezier(0, 0, 0.2, 1) 0ms, transform 200ms cubic-bezier(0, 0, 0.2, 1) 0ms, font-size 200ms cubic-bezier(0, 0, 0.2, 1) 0ms;
  transform-origin: left top;
  z-index: 1;
}
.step-login__input-wrapper:focus-within .step-login__input-label, .step-login__input-wrapper:has(.step-login__input:not(:placeholder-shown)) .step-login__input-label {
  transform: translate(-2px, -36px);
  font-size: 12px;
}
.step-login__input-group {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
.step-login__input-wrapper--error .step-login__input-fieldset {
  border-color: #97002b;
}
.step-login__input-wrapper--error .step-login__input-container:focus-within .step-login__input-fieldset {
  border-color: #97002b;
}
.step-login__input-wrapper--error .step-login__input-label {
  color: #97002b;
}
.step-login__input-wrapper--error .step-login__input-legend {
  color: #97002b;
}
.step-login__input-error-message {
  display: none;
  font-family: "Nunito", sans-serif;
  font-weight: 400;
  font-size: 12px;
  line-height: 16px;
  color: #97002b;
  margin-top: 8px;
  padding-left: 0;
}
.step-login__input-wrapper--error .step-login__input-error-message {
  display: block;
}
.step-login__link {
  color: #33820d;
  text-decoration: none;
}
.step-login__footer {
  margin-top: auto;
  margin-bottom: 30px;
}
.step-login__footer-link {
  font-family: "Nunito", sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 24px;
  text-align: center;
  color: #444444;
  margin-bottom: 12px;
}
.step-login__footer-link > .step-login__link {
  font-weight: 700;
  font-size: 16px;
  line-height: 138%;
}
.step-login__footer-link--desktop {
  display: inline;
}
.step-login__footer-link--mobile {
  display: none;
}
.step-login__footer-note {
  font-family: "Nunito", sans-serif;
  font-weight: 400;
  font-size: 12px;
  line-height: 16px;
  text-align: center;
  color: #444444;
}
.step-login__footer-note:last-of-type {
  margin-top: 8px;
}
.step-login__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  flex-shrink: 0;
  height: 54px;
  padding: 8px 16px;
  font-family: "Exo 2", sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: 24px;
  border-radius: 8px;
  color: #ffffff;
  background-color: #33820d;
  border: 0;
  width: 100%;
  max-width: 328px;
  cursor: pointer;
}
.step-login__button:disabled {
  color: #5a645a;
  background-color: #e1e6e1;
}
@media screen and (max-width: 768px) {
  .step-login {
    padding: 0;
    min-height: auto;
  }
  .step-login.has-dialog-space {
    padding-top: 78px;
  }
  .step-login__container {
    grid-template-columns: 1fr;
    grid-auto-rows: auto;
    gap: 0;
  }
  .step-login__banner {
    padding: 16px 34px;
    border-radius: 0;
    flex-direction: column-reverse;
    justify-content: flex-start;
    height: 266px;
  }
  .step-login__banner-logos > *:nth-child(1) {
    max-width: 114px;
  }
  .step-login__banner-logos > *:nth-child(3) {
    display: none;
  }
  .step-login__banner-logos > *:nth-child(4) {
    display: block;
    filter: invert(1);
  }
  .step-login__banner-content {
    margin-bottom: 10px;
  }
  .step-login__banner-title, .step-login__banner-title--highlight {
    font-family: "Nunito", sans-serif;
    font-weight: 700;
    font-size: 16px;
    line-height: 24px;
  }
  .step-login__banner-title {
    display: none;
    margin-bottom: 10px;
  }
  .step-login__banner-title--mobile-only {
    display: inline;
  }
  .step-login__form {
    padding: 32px 16px 0;
  }
  .step-login__form-header {
    display: none;
  }
  .step-login__footer-link--desktop {
    display: none;
  }
  .step-login__footer-link--mobile {
    display: inline;
  }
  .step-login__inputs-wrapper {
    padding: 0;
  }
  .step-login__input-group {
    grid-template-columns: 1fr;
    gap: 36px;
  }
  .step-login__button {
    max-width: 100%;
  }
  .step-login__footer-note {
    padding: 0 16px;
    font-size: 10px;
    text-align: left;
  }
}

.dialog--exclusive .dialog__icon {
  background-color: #ffebbc;
  color: #bc5f0f;
}

.dialog--pending .dialog__icon {
  background-color: #ecf6e7;
  color: #5a645a;
}

.dialog--error .dialog__icon {
  background-color: #ffebbc;
  color: #bc5f0f;
}

.dialog--session-expired .dialog__icon {
  background-color: #ffebbc;
  color: #bc5f0f;
}

.dialog--financial-pending .dialog__icon {
  background-color: #ffebbc;
  color: #bc5f0f;
}

.dialog--service-unavailable .dialog__icon {
  background-color: #f58c96;
  color: #550023;
}

.dialog--offer-unavailable .dialog__icon {
  background-color: #f58c96;
  color: #550023;
}

.dialog--offer-new-customers .dialog__icon {
  background-color: #f58c96;
  color: #550023;
}

.step-register {
  background-color: #ffffff;
  display: flex;
  padding: 20px;
  min-height: 100svh;
}
.step-register__container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  flex: 1;
}
.step-register__banner {
  border-radius: 16px;
  overflow: hidden;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 28px 66px 0;
}
.step-register__banner-logos {
  color: #ffffff;
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  justify-content: center;
  gap: 20px;
  position: relative;
  z-index: 2;
}
.step-register__banner-logos > *:nth-child(1) {
  width: 100%;
  max-width: 122px;
  height: auto;
  margin: 7px 14px;
}
.step-register__banner-logos > *:nth-child(3) {
  width: 100%;
  max-width: 48px;
  height: auto;
  display: block;
}
.step-register__banner-logos > *:nth-child(4) {
  width: 100%;
  max-width: 106px;
  height: auto;
  display: none;
}
.step-register__banner-logos-separator {
  display: block;
  width: 1px;
  height: 36px;
  background-color: #ffffff;
}
.step-register__banner-content {
  margin-bottom: 24vh;
  position: relative;
  z-index: 2;
}
.step-register__banner-title {
  font-family: "Exo 2", sans-serif;
  font-weight: 400;
  font-size: 24px;
  color: #ffffff;
  line-height: 40px;
  display: flex;
  flex-direction: column;
  margin-bottom: 16px;
}
.step-register__banner-title--highlight {
  font-weight: 700;
  font-size: 32px;
  line-height: 40px;
}
.step-register__banner-title--mobile-only {
  display: none;
}
.step-register__banner-badge {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.step-register__banner-badge-title {
  font-family: "Exo 2", sans-serif;
  font-weight: 700;
  font-size: 24px;
  line-height: 32px;
  color: #ffffff;
}
.step-register__banner-badge-text {
  font-family: "Nunito", sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 24px;
  color: #ffffff;
}
.step-register__banner-image {
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  object-fit: cover;
  z-index: 1;
  pointer-events: none;
  user-select: none;
}
.step-register__form {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 28px;
}
.step-register__form-wrapper {
  border-radius: 16px;
  overflow: hidden;
  background-color: #faf9f9;
  display: flex;
  flex-direction: column;
}
.step-register__form-header {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 28px 56px 96px;
}
.step-register__form-title {
  font-family: "Exo 2", sans-serif;
  font-weight: 400;
  font-size: 24px;
  line-height: 32px;
  text-align: center;
  color: #505050;
}
.step-register__form-title--highlight {
  font-weight: 700;
}
.step-register__form-subtitle {
  font-family: "Exo 2", sans-serif;
  font-weight: 400;
  font-size: 20px;
  line-height: 24px;
  text-align: center;
  color: #767676;
}
.step-register__inputs-wrapper {
  padding: 0 56px;
  width: 100%;
  max-width: 540px;
  display: flex;
  flex-direction: column;
  gap: 36px;
}
.step-register__input {
  font-family: "Nunito", sans-serif;
  background-color: #ffffff;
  border: none;
  padding: 16px;
  font-size: 16px;
  line-height: 24px;
  min-width: 0;
  width: 100%;
  border-radius: 8px;
  font-weight: 700;
}
.step-register__input::placeholder {
  color: transparent;
}
.step-register__input:focus, .step-register__input:focus-visible {
  outline: none;
}
.step-register__input:disabled {
  background-color: #e1e6e1;
  cursor: not-allowed;
}
.step-register__input--full {
  width: 100%;
}
.step-register__input--with-icon {
  padding-right: 48px;
}
.step-register__input-wrapper {
  position: relative;
  width: 100%;
  display: inline-flex;
  flex-direction: column;
}
.step-register__input-container {
  position: relative;
  display: inline-flex;
  flex-direction: column;
  width: 100%;
}
.step-register__input-fieldset {
  position: absolute;
  top: -5px;
  left: 0;
  right: 0;
  bottom: 0;
  margin: 0;
  padding: 0 8px;
  pointer-events: none;
  border-radius: 8px;
  border: 1px solid #e1e6e1;
  transition: border-color 0.15s ease-in-out;
  overflow: hidden;
  min-width: 0;
}
.step-register__input-container:focus-within .step-register__input-fieldset {
  border-color: #33820d;
}
.step-register__input-container:has(.step-register__input:disabled) .step-register__input-fieldset {
  border-color: #afafaf;
}
.step-register__input-legend {
  font-family: "Nunito", sans-serif;
  font-weight: 400;
  font-size: 12px;
  line-height: 11px;
  color: #5a645a;
  padding: 0;
  max-width: 0.01px;
  visibility: hidden;
  transition: max-width 50ms cubic-bezier(0, 0, 0.2, 1) 0ms;
  white-space: nowrap;
}
.step-register__input-legend > span {
  display: inline-block;
  padding-left: 5px;
  padding-right: 5px;
  opacity: 0;
}
.step-register__input:focus ~ .step-register__input-fieldset .step-register__input-legend, .step-register__input:not(:placeholder-shown) ~ .step-register__input-fieldset .step-register__input-legend {
  max-width: 100%;
  transition: max-width 100ms cubic-bezier(0, 0, 0.2, 1) 50ms;
}
.step-register__input-icon {
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  color: #33820d;
  z-index: 1;
}
.step-register__input-label {
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  font-family: "Nunito", sans-serif;
  font-weight: 400;
  font-size: 16px;
  color: #5a645a;
  pointer-events: none;
  transition: color 200ms cubic-bezier(0, 0, 0.2, 1) 0ms, transform 200ms cubic-bezier(0, 0, 0.2, 1) 0ms, font-size 200ms cubic-bezier(0, 0, 0.2, 1) 0ms;
  transform-origin: left top;
  z-index: 1;
}
.step-register__input-wrapper:focus-within .step-register__input-label, .step-register__input-wrapper:has(.step-register__input:not(:placeholder-shown)) .step-register__input-label {
  transform: translate(-2px, -36px);
  font-size: 12px;
}
.step-register__input-group {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
.step-register__input-wrapper--error .step-register__input-fieldset {
  border-color: #97002b;
}
.step-register__input-wrapper--error .step-register__input-container:focus-within .step-register__input-fieldset {
  border-color: #97002b;
}
.step-register__input-wrapper--error .step-register__input-label {
  color: #97002b;
}
.step-register__input-wrapper--error .step-register__input-legend {
  color: #97002b;
}
.step-register__input-error-message {
  display: none;
  font-family: "Nunito", sans-serif;
  font-weight: 400;
  font-size: 12px;
  line-height: 16px;
  color: #97002b;
  margin-top: 8px;
  padding-left: 0;
}
.step-register__input-wrapper--error .step-register__input-error-message {
  display: block;
}
.step-register__link {
  color: #33820d;
  text-decoration: none;
}
.step-register__footer {
  margin-top: auto;
  margin-bottom: 30px;
}
.step-register__footer-link {
  font-family: "Nunito", sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 24px;
  text-align: center;
  color: #444444;
  margin-bottom: 12px;
}
.step-register__footer-link > .step-register__link {
  font-weight: 700;
  font-size: 16px;
  line-height: 138%;
}
.step-register__footer-link--desktop {
  display: inline;
}
.step-register__footer-link--mobile {
  display: none;
}
.step-register__footer-note {
  font-family: "Nunito", sans-serif;
  font-weight: 400;
  font-size: 12px;
  line-height: 16px;
  text-align: center;
  color: #444444;
}
.step-register__footer-note:last-of-type {
  margin-top: 8px;
}
.step-register__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  flex-shrink: 0;
  height: 54px;
  padding: 8px 16px;
  font-family: "Exo 2", sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: 24px;
  border-radius: 8px;
  color: #ffffff;
  background-color: #33820d;
  border: 0;
  width: 100%;
  max-width: 328px;
  cursor: pointer;
}
.step-register__button:disabled {
  color: #5a645a;
  background-color: #e1e6e1;
}
@media screen and (max-width: 768px) {
  .step-register {
    padding: 0;
    min-height: auto;
  }
  .step-register.has-dialog-space {
    padding-top: 78px;
  }
  .step-register__container {
    grid-template-columns: 1fr;
    grid-auto-rows: auto;
    gap: 0;
  }
  .step-register__banner {
    padding: 16px 34px;
    border-radius: 0;
    flex-direction: column-reverse;
    justify-content: flex-start;
    height: 266px;
  }
  .step-register__banner-logos > *:nth-child(1) {
    max-width: 114px;
  }
  .step-register__banner-logos > *:nth-child(3) {
    display: none;
  }
  .step-register__banner-logos > *:nth-child(4) {
    display: block;
    filter: invert(1);
  }
  .step-register__banner-content {
    margin-bottom: 0;
  }
  .step-register__banner-title, .step-register__banner-title--highlight {
    font-family: "Nunito", sans-serif;
    font-weight: 700;
    font-size: 16px;
    line-height: 24px;
  }
  .step-register__banner-title {
    display: none;
    margin-bottom: 10px;
  }
  .step-register__banner-title--mobile-only {
    display: inline;
  }
  .step-register__banner-badge {
    margin-bottom: 10px;
  }
  .step-register__form {
    padding: 32px 16px 0;
  }
  .step-register__form-header {
    display: none;
  }
  .step-register__footer-link--desktop {
    display: none;
  }
  .step-register__footer-link--mobile {
    display: inline;
  }
  .step-register__inputs-wrapper {
    padding: 0;
  }
  .step-register__input-group {
    grid-template-columns: 1fr;
    gap: 36px;
  }
  .step-register__button {
    max-width: 100%;
  }
  .step-register__footer-note {
    padding: 0 16px;
    font-size: 10px;
    text-align: left;
  }
}

.step-3 {
  background-color: #ffffff;
  display: flex;
  padding: 20px;
  min-height: 100svh;
}
.step-3__wrapper {
  width: 100%;
  display: grid;
  grid-template-columns: 30% 70%;
  grid-template-rows: 100%;
  gap: 0;
  align-items: stretch;
}
@media (max-width: 1440px) {
  .step-3__wrapper {
    padding: 0% 2%;
  }
}
.step-3__container {
  width: 100%;
  height: 100%;
  padding: 0% 5%;
  display: flex;
  flex-direction: column;
  gap: 32px;
  overflow-y: auto;
}
.step-3__header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding-bottom: 20px;
}
.step-3__title-wrapper {
  text-align: left;
  margin-bottom: 0;
}
.step-3__title {
  font-family: "Nunito", sans-serif;
  font-weight: 400;
  font-size: 24px;
  line-height: 40px;
  color: #505050;
}
.step-3__subtitle {
  font-family: "Nunito", sans-serif;
  font-weight: 400;
  font-size: 12px;
  line-height: 140%;
  letter-spacing: -0.4px;
  color: #767676;
  margin: 0;
}
.step-3__form {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  height: 100%;
  gap: 48px;
}
.step-3__section {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.step-3__section-title {
  font-family: "Nunito", sans-serif;
  font-weight: 700;
  font-size: 16px;
  line-height: 138%;
  color: #33820d;
  margin: 0;
}
.step-3__fields {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.step-3__row {
  display: grid;
  gap: 16px;
  width: 100%;
}
.step-3__row--one {
  grid-template-columns: 1fr;
}
.step-3__row--two {
  grid-template-columns: 1fr 1fr;
}
.step-3__row--cnpj-razao {
  grid-template-columns: 1fr 1.8fr;
}
.step-3__row--three {
  grid-template-columns: repeat(3, 1fr);
}
.step-3__row--cep-address {
  grid-template-columns: 1.2fr 2fr 1fr;
}
.step-3__row--four {
  grid-template-columns: repeat(4, 1fr);
}
.step-3__help-link {
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  font-family: "Nunito", sans-serif;
  font-weight: 400;
  font-size: 12px;
  line-height: 16px;
  color: #828a82;
  text-decoration: underline;
  white-space: nowrap;
  padding-left: 12px;
}
.step-3__help-link:hover {
  color: #33820d;
}
.step-3 .step__input-wrapper.loading {
  position: relative;
}
.step-3 .step__input-wrapper.loading .step__input {
  opacity: 0.6;
}
.step-3 .step__input-wrapper.loading::after {
  content: "";
  position: absolute;
  right: 120px;
  top: 50%;
  transform: translateY(-50%);
  width: 16px;
  height: 16px;
  border: 2px solid #33820c;
  border-top-color: transparent;
  border-radius: 50%;
  animation: spin 0.6s linear infinite;
}
@keyframes spin {
  to {
    transform: translateY(-50%) rotate(360deg);
  }
}
.step-3__checkbox {
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
}
.step-3__checkbox-input {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  width: 20px;
  height: 20px;
  border: 2px solid #60c33d;
  border-radius: 4px;
  cursor: pointer;
  flex-shrink: 0;
  position: relative;
  background-color: #ffffff;
  transition: all 0.2s ease;
  outline: none;
  margin: 0;
}
.step-3__checkbox-input:focus {
  outline: none;
  box-shadow: 0 0 0 2px rgba(96, 195, 61, 0.2);
}
.step-3__checkbox-input:checked {
  background-color: #60c33d;
  border-color: #60c33d;
}
.step-3__checkbox-input:checked::after {
  content: "";
  position: absolute;
  left: 5px;
  top: 2px;
  width: 4px;
  height: 8px;
  border: solid #ffffff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}
.step-3__checkbox-input:hover:not(:disabled) {
  border-color: #4fa932;
}
.step-3__checkbox-input:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  border-color: #ccc;
}
.step-3__checkbox-label {
  font-family: "Nunito", sans-serif;
  font-weight: 400;
  font-size: 13px;
  line-height: 1.2;
  color: #5a645a;
  user-select: none;
  text-align: left;
}
.step-3__actions {
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  gap: 16px;
  margin-top: 32px;
  width: 100%;
  height: 100%;
}
.step-3__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  flex-shrink: 0;
  height: 60px;
  padding: 14px 48px;
  font-family: "Open Sans", sans-serif;
  font-weight: 700;
  font-size: 18px;
  line-height: 28px;
  border-radius: 8px;
  border: 0;
  min-width: 200px;
  cursor: pointer;
  transition: all 0.2s ease;
  background-color: #d0d0d0;
  color: #888888;
  cursor: not-allowed;
}
.step-3__button:not(:disabled) {
  background-color: #33820c;
  color: #ffffff;
  cursor: pointer;
}
.step-3__button:not(:disabled):hover {
  background-color: #2a6b0a;
}
.step-3__button--outline {
  background-color: transparent !important;
  color: #33820c !important;
  border: 2px solid #33820c !important;
  cursor: pointer !important;
}
.step-3__button--outline:hover {
  background-color: rgba(51, 130, 12, 0.08) !important;
}
@media screen and (max-width: 768px) {
  .step-3 {
    padding: 0;
  }
  .step-3__wrapper {
    grid-template-columns: 1fr;
    padding: 0;
  }
  .step-3 .tag-card {
    display: none;
  }
  .step-3__container {
    max-width: 100%;
    padding: 0 16px;
    gap: 16px;
    padding-top: 16px;
  }
  .step-3__header {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    padding-bottom: 0px;
  }
  .step-3__header .stepper {
    width: 100%;
    align-self: stretch;
    order: 1;
  }
}
@media screen and (max-width: 768px) and (max-width: 768px) {
  .step-3__header .stepper {
    margin-bottom: 16px;
  }
}
@media screen and (max-width: 768px) {
  .step-3__title-wrapper {
    text-align: left;
    order: 2;
  }
}
@media screen and (max-width: 768px) {
  .step-3__title {
    font-size: 18px;
    line-height: 128%;
    color: #505050;
  }
}
@media screen and (max-width: 768px) {
  .step-3__subtitle {
    font-size: 12px;
    line-height: 140%;
    letter-spacing: -0.4px;
  }
}
@media screen and (max-width: 768px) {
  .step-3__section-title {
    font-size: 16px;
    line-height: 138%;
  }
}
@media screen and (max-width: 768px) {
  .step-3__form {
    gap: 20px;
  }
}
@media screen and (max-width: 768px) {
  .step-3__section {
    gap: 12px;
  }
}
@media screen and (max-width: 768px) {
  .step-3__fields {
    gap: 12px;
  }
}
@media screen and (max-width: 768px) {
  .step-3__row--two, .step-3__row--cnpj-razao, .step-3__row--three, .step-3__row--cep-address, .step-3__row--four {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}
@media screen and (max-width: 768px) {
  .step-3__checkbox-label {
    font-size: 12px;
    line-height: 16px;
    color: #5a645a;
  }
}
@media screen and (max-width: 768px) {
  .step-3__help-link {
    font-size: 12px;
    line-height: 16px;
  }
}
@media screen and (max-width: 768px) {
  .step-3__actions {
    flex-direction: column;
    gap: 16px;
    margin-top: 24px;
  }
  .step-3__actions .step-3__button {
    width: 100%;
    min-width: auto;
    height: 54px;
    font-family: "Exo 2", sans-serif;
    font-size: 20px;
    padding: 16px 8px;
    line-height: 24px;
  }
  .step-3__actions .step-3__button--outline {
    font-family: "Open Sans", sans-serif;
    font-size: 18px;
    line-height: 128%;
    border: 1.4px solid #33820d !important;
  }
}
@media screen and (max-width: 768px) and (max-width: 768px) {
  .step-3__actions {
    flex-direction: column-reverse;
    margin-bottom: 32px;
  }
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  .step-3__wrapper {
    grid-template-columns: 35% 65%;
  }
  .step-3__container {
    padding: 40px;
  }
  .step-3__row--three {
    grid-template-columns: repeat(2, 1fr);
  }
  .step-3__row--four {
    grid-template-columns: repeat(2, 1fr);
  }
}

.step-4 {
  background-color: #ffffff;
  display: flex;
  padding: 20px;
  min-height: 100svh;
}
@media (max-width: 768px) {
  .step-4 {
    min-height: 100svh;
    padding: 0;
  }
}
.step-4__wrapper {
  width: 100%;
  display: grid;
  grid-template-columns: 30% 70%;
  grid-template-rows: 100%;
  gap: 0;
  align-items: stretch;
}
@media (max-width: 1440px) {
  .step-4__wrapper {
    padding: 0% 2%;
  }
}
.step-4__container {
  width: 100%;
  height: 100%;
  padding: 0% 5%;
  display: flex;
  flex-direction: column;
  gap: 32px;
  overflow-y: auto;
}
.step-4__header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding-bottom: 20px;
}
.step-4__title-wrapper {
  text-align: left;
  margin-bottom: 0;
}
.step-4__title {
  font-family: "Nunito", sans-serif;
  font-weight: 400;
  font-size: 24px;
  line-height: 40px;
  color: #0e0d0d;
}
.step-4__subtitle {
  font-family: "Nunito", sans-serif;
  font-weight: 400;
  font-size: 12px;
  line-height: 20px;
  color: #767676;
  margin: 0;
}
.step-4__form {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
  gap: 48px;
}
.step-4__section {
  display: flex;
  flex-direction: column;
  height: 100%;
  gap: 24px;
}
.step-4__section-title {
  font-family: "Open Sans", sans-serif;
  font-weight: 700;
  font-size: 16px;
  line-height: 24px;
  color: #33820c;
  margin: 0;
}
.step-4__fields {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.step-4__row {
  display: grid;
  gap: 16px;
  width: 100%;
}
.step-4__row--two {
  grid-template-columns: 1fr 1fr;
}
.step-4__note {
  margin-top: 16px;
  border-radius: 8px;
  max-width: 700px;
}
.step-4__note-text {
  font-family: "Nunito", sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 20px;
  color: #505050;
  margin: 0;
}
.step-4__actions {
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  gap: 16px;
  margin-top: 32px;
  width: 100%;
  height: 100%;
}
.step-4__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  flex-shrink: 0;
  height: 60px;
  padding: 14px 48px;
  font-family: "Open Sans", sans-serif;
  font-weight: 700;
  font-size: 18px;
  line-height: 28px;
  border-radius: 8px;
  border: 0;
  min-width: 200px;
  cursor: pointer;
  transition: all 0.2s ease;
  background-color: #d0d0d0;
  color: #888888;
  cursor: not-allowed;
}
.step-4__button:not(:disabled) {
  background-color: #33820c;
  color: #ffffff;
  cursor: pointer;
}
.step-4__button:not(:disabled):hover {
  background-color: #2a6b0a;
}
.step-4__button--outline {
  background-color: transparent !important;
  color: #33820c !important;
  border: 2px solid #33820c !important;
  cursor: pointer !important;
}
.step-4__button--outline:hover {
  background-color: rgba(51, 130, 12, 0.08) !important;
}
@media screen and (max-width: 768px) {
  .step-4__wrapper {
    grid-template-columns: 1fr;
    padding: 0;
  }
  .step-4 .tag-card {
    display: none;
  }
  .step-4__container {
    max-width: 100%;
    padding: 0 16px;
    gap: 16px;
    padding-top: 16px;
  }
  .step-4__header {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    padding-bottom: 0px;
  }
  .step-4__header .stepper {
    width: 100%;
    align-self: stretch;
    order: 1;
  }
}
@media screen and (max-width: 768px) and (max-width: 768px) {
  .step-4__header .stepper {
    margin-bottom: 16px;
  }
}
@media screen and (max-width: 768px) {
  .step-4__title-wrapper {
    text-align: left;
    order: 2;
  }
}
@media screen and (max-width: 768px) {
  .step-4__title {
    font-size: 18px;
    line-height: 128%;
    color: #505050;
  }
}
@media screen and (max-width: 768px) {
  .step-4__subtitle {
    font-size: 12px;
    line-height: 140%;
    letter-spacing: -0.4px;
  }
}
@media screen and (max-width: 768px) {
  .step-4__section-title {
    font-size: 16px;
    line-height: 138%;
  }
}
@media screen and (max-width: 768px) {
  .step-4__form {
    gap: 20px;
  }
}
@media screen and (max-width: 768px) {
  .step-4__section {
    gap: 12px;
  }
}
@media screen and (max-width: 768px) {
  .step-4__fields {
    gap: 12px;
  }
}
@media screen and (max-width: 768px) {
  .step-4__row--two {
    grid-template-columns: 1fr;
    gap: 24px;
  }
}
@media screen and (max-width: 768px) {
  .step-4__actions {
    flex-direction: column;
    gap: 16px;
    margin-top: 24px;
  }
  .step-4__actions .step-4__button {
    width: 100%;
    min-width: auto;
    height: 54px;
    font-family: "Exo 2", sans-serif;
    font-size: 20px;
    padding: 16px 8px;
    line-height: 24px;
  }
  .step-4__actions .step-4__button--outline {
    font-family: "Open Sans", sans-serif;
    font-size: 18px;
    line-height: 128%;
    border: 1.4px solid #33820d !important;
  }
}
@media screen and (max-width: 768px) and (max-width: 768px) {
  .step-4__actions {
    flex-direction: column-reverse;
    margin-bottom: 32px;
  }
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  .step-4__wrapper {
    grid-template-columns: 35% 65%;
  }
  .step-4__container {
    padding: 40px;
  }
}

.step-payment {
  background-color: #ffffff;
  display: flex;
  padding: 20px;
  min-height: 100svh;
}
.step-payment__container {
  display: grid;
  grid-template-columns: 360px 1fr;
  gap: 48px;
  flex: 1;
}
.step-payment__sidebar {
  background-color: #faf9f9;
  border-radius: 12px;
  display: flex;
  flex-direction: column;
}
.step-payment__sidebar-intro {
  font-family: "Nunito", sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 24px;
  color: #505050;
  padding: 40px 32px;
}
.step-payment__plate-card {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 0 32px 28px;
}
.step-payment__plate-card-header {
  font-family: "Nunito", sans-serif;
  font-weight: 700;
  font-size: 16px;
  line-height: 24px;
  color: #505050;
}
.step-payment__plate-card-item {
  display: flex;
  align-items: center;
  gap: 12px;
}
.step-payment__plate-card-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 6px;
  background-color: #f0f0f0;
  color: #33820d;
}
.step-payment__plate-card-title {
  font-family: "Nunito", sans-serif;
  font-weight: 400;
  font-size: 12px;
  line-height: 16px;
  color: #767676;
}
.step-payment__plate-card-subtitle {
  font-family: "Nunito", sans-serif;
  font-weight: 700;
  font-size: 14px;
  line-height: 18px;
  color: #505050;
}
.step-payment__plan-card {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding-inline: 32px;
  padding-bottom: 40px;
}
.step-payment__plan-card-badge {
  width: fit-content;
  background-color: #ecf6e7;
  padding: 4px 8px;
  font-family: "Nunito", sans-serif;
  font-weight: 700;
  font-size: 12px;
  line-height: 16px;
  border-radius: 4px;
  color: #505050;
}
.step-payment__plan-card-title {
  font-family: "Exo 2", sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: 24px;
  margin-top: 12px;
  color: #505050;
}
.step-payment__plan-card-section {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 12px;
}
.step-payment__plan-card-section-title {
  font-family: "Nunito", sans-serif;
  font-weight: 700;
  font-size: 14px;
  line-height: 18px;
  color: #4a4a4a;
}
.step-payment__plan-card-section-text {
  font-family: "Nunito", sans-serif;
  font-weight: 400;
  font-style: Regular;
  font-size: 12px;
  line-height: 16px;
  color: #767676;
}
.step-payment__plan-card-value-item {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
.step-payment__plan-card-value-label {
  font-family: "Nunito", sans-serif;
  font-weight: 400;
  font-size: 12px;
  line-height: 16px;
  color: #767676;
}
.step-payment__plan-card-value-amount {
  font-family: "Exo 2", sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: 24px;
  color: #444444;
}
.step-payment__plan-card-value-amount > span {
  font-size: 14px;
  line-height: 18px;
}
.step-payment__plan-card-highlight {
  width: 100%;
  background-color: #ecf6e7;
  border-radius: 4px;
  font-family: "Nunito", sans-serif;
  font-weight: 400;
  font-size: 12px;
  line-height: 16px;
  color: #505050;
  padding: 12px 8px;
  margin-top: 12px;
  text-align: center;
}
.step-payment__plan-card-footer {
  margin-top: auto;
  padding-top: 24px;
}
.step-payment__plan-card-disclaimer {
  font-family: "Nunito", sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 18px;
  color: #767676;
}
.step-payment__plan-card-logos {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  margin-top: 20px;
}
.step-payment__plan-card-logos > svg:first-child {
  width: 100%;
  max-width: 96px;
  height: auto;
}
.step-payment__plan-card-logos-separator {
  display: block;
  width: 1px;
  height: 36px;
  background-color: #cdd3cd;
}
.step-payment__plan-card-logos > svg:last-child {
  width: 100%;
  max-width: 113px;
  height: auto;
}
.step-payment__form-wrapper {
  display: flex;
  flex-direction: column;
}
.step-payment__form-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}
.step-payment__form-title {
  font-family: "Exo 2", sans-serif;
  font-weight: 700;
  font-size: 24px;
  line-height: 32px;
  color: #505050;
}
.step-payment__stepper {
  display: flex;
  align-items: center;
  gap: 12px;
}
.step-payment__stepper-item {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  color: #ffffff;
  background-color: #33820d;
  border-radius: 50%;
  flex-shrink: 0;
  transition: all 0.2s ease-in-out;
}
.step-payment__stepper-item--active {
  background-color: #ffffff;
  border: 1px solid #33820d;
  color: #33820d;
  min-width: 146px;
  width: auto;
  padding: 0 16px;
  justify-content: flex-start;
}
.step-payment__stepper-item--active .step-payment__stepper-label {
  display: inline;
}
.step-payment__stepper-item--active > svg {
  width: 20px;
  height: 20px;
}
.step-payment__stepper-label {
  font-family: "Nunito", sans-serif;
  font-weight: 700;
  font-size: 14px;
  line-height: 18px;
  display: none;
  color: #33820d;
  white-space: nowrap;
}
.step-payment__payment-section {
  display: flex;
  flex-direction: column;
  flex: 1;
  margin-top: 26px;
}
.step-payment__payment-title {
  font-family: "Exo 2", sans-serif;
  font-weight: 400;
  font-size: 20px;
  line-height: 24px;
  color: #505050;
}
.step-payment__payment-description {
  font-family: "Nunito", sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 138%;
  color: #767676;
  margin-top: 8px;
}
.step-payment__account-form {
  display: flex;
  flex-direction: column;
  flex: 1;
  margin-top: 20px;
}
.step-payment__account-form-title {
  font-family: "Nunito", sans-serif;
  font-weight: 700;
  font-size: 16px;
  line-height: 24px;
  color: #33820d;
}
.step-payment__inputs-wrapper {
  width: 100%;
  margin-top: 12px;
  display: flex;
  flex-direction: column;
  gap: 32px;
}
.step-payment__input {
  font-family: "Nunito", sans-serif;
  background-color: #ffffff;
  border: none;
  padding: 16px;
  font-size: 16px;
  line-height: 24px;
  font-weight: 400;
  min-width: 0;
  width: 100%;
  border-radius: 8px;
  font-weight: 600;
}
.step-payment__input::placeholder {
  color: transparent;
}
.step-payment__input:focus, .step-payment__input:focus-visible {
  outline: none;
}
.step-payment__input:disabled {
  background-color: #e1e6e1;
  cursor: not-allowed;
}
.step-payment__input--full {
  width: 100%;
}
.step-payment__input--with-icon {
  padding-right: 48px;
}
.step-payment__input-wrapper {
  position: relative;
  width: 100%;
  display: inline-flex;
  flex-direction: column;
}
.step-payment__input-container {
  position: relative;
  display: inline-flex;
  flex-direction: column;
  width: 100%;
}
.step-payment__input-fieldset {
  position: absolute;
  top: -5px;
  left: 0;
  right: 0;
  bottom: 0;
  margin: 0;
  padding: 0 8px;
  pointer-events: none;
  border-radius: 8px;
  border: 1px solid #e1e6e1;
  transition: border-color 0.15s ease-in-out;
  overflow: hidden;
  min-width: 0;
}
.step-payment__input-container:focus-within .step-payment__input-fieldset {
  border-color: #33820d;
}
.step-payment__input-container:has(.step-payment__input:disabled) .step-payment__input-fieldset {
  border-color: #afafaf;
}
.step-payment__input-legend {
  font-family: "Nunito", sans-serif;
  font-weight: 400;
  font-size: 12px;
  line-height: 11px;
  color: #5a645a;
  padding: 0;
  max-width: 0.01px;
  visibility: hidden;
  transition: max-width 50ms cubic-bezier(0, 0, 0.2, 1) 0ms;
  white-space: nowrap;
}
.step-payment__input-legend > span {
  display: inline-block;
  padding-left: 5px;
  padding-right: 5px;
  opacity: 0;
}
.step-payment__input:focus ~ .step-payment__input-fieldset .step-payment__input-legend, .step-payment__input:not(:placeholder-shown) ~ .step-payment__input-fieldset .step-payment__input-legend {
  max-width: 100%;
  transition: max-width 100ms cubic-bezier(0, 0, 0.2, 1) 50ms;
}
.step-payment__input-icon {
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  color: #33820d;
  z-index: 1;
}
.step-payment__input-label {
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  font-family: "Nunito", sans-serif;
  font-weight: 400;
  font-size: 16px;
  color: #5a645a;
  pointer-events: none;
  transition: color 200ms cubic-bezier(0, 0, 0.2, 1) 0ms, transform 200ms cubic-bezier(0, 0, 0.2, 1) 0ms, font-size 200ms cubic-bezier(0, 0, 0.2, 1) 0ms;
  transform-origin: left top;
  z-index: 1;
}
.step-payment__input-wrapper:focus-within .step-payment__input-label, .step-payment__input-wrapper:has(.step-payment__input:not(:placeholder-shown)) .step-payment__input-label {
  transform: translate(-2px, -36px);
  font-size: 12px;
}
.step-payment__input-group {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
.step-payment__input-group--cnpj-titular {
  grid-template-columns: 254px 1fr;
}
.step-payment__input-wrapper--error .step-payment__input-fieldset {
  border-color: #97002b;
}
.step-payment__input-wrapper--error .step-payment__input-container:focus-within .step-payment__input-fieldset {
  border-color: #97002b;
}
.step-payment__input-wrapper--error .step-payment__input-label {
  color: #97002b;
}
.step-payment__input-wrapper--error .step-payment__input-legend {
  color: #97002b;
}
.step-payment__input-error-message {
  display: none;
  font-family: "Nunito", sans-serif;
  font-weight: 400;
  font-size: 12px;
  line-height: 16px;
  color: #97002b;
  margin-top: 8px;
  padding-left: 0;
}
.step-payment__input-wrapper--error .step-payment__input-error-message {
  display: block;
}
.step-payment__recharge-section {
  margin-top: 40px;
}
.step-payment__recharge-title {
  font-family: "Nunito", sans-serif;
  font-weight: 700;
  font-size: 16px;
  line-height: 24px;
  color: #505050;
}
.step-payment__recharge-description {
  margin-top: 4px;
  color: #505050;
  font-family: "Nunito", sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 138%;
}
.step-payment__recharge-options {
  display: flex;
  gap: 16px;
  margin-top: 20px;
}
.step-payment__recharge-radio {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.step-payment__recharge-label {
  font-family: "Nunito", sans-serif;
  font-weight: 700;
  font-size: 16px;
  line-height: 24px;
  text-align: center;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 8px;
  border-radius: 8px;
  background-color: #fbfbfb;
  color: #767676;
  cursor: pointer;
  transition: background-color 150ms ease-in, color 150ms ease-in;
  flex: 1;
}
.step-payment__recharge-radio:checked + .step-payment__recharge-label {
  background-color: #33820d;
  color: #ffffff;
}
.step-payment__recharge-note {
  font-family: "Nunito", sans-serif;
  font-weight: 400;
  font-size: 12px;
  line-height: 16px;
  color: #444444;
  margin-top: 36px;
}
.step-payment__recharge-note > strong {
  color: #33820d;
  font-size: 14px;
  line-height: 18px;
}
.step-payment__actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 30px;
  margin-top: auto;
}
.step-payment__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  flex-shrink: 0;
  height: 54px;
  padding: 8px 16px;
  font-family: "Exo 2", sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: 24px;
  border-radius: 8px;
  border: 0;
  width: 100%;
  max-width: 260px;
  cursor: pointer;
}
.step-payment__button--primary {
  background-color: #33820d;
  color: #ffffff;
}
.step-payment__button--outline {
  background-color: transparent;
  color: #33820d;
  border: 1px solid #33820d;
}
@media screen and (max-width: 768px) {
  .step-payment {
    padding: 0;
  }
  .step-payment__container {
    grid-template-columns: 1fr;
    gap: 16px;
    padding: 16px;
  }
  .step-payment__sidebar {
    display: none;
  }
  .step-payment__form-wrapper {
    gap: 16px;
  }
  .step-payment__form-header {
    flex-direction: column-reverse;
    align-items: flex-start;
    gap: 44px;
  }
  .step-payment__form-title {
    font-family: "Nunito", sans-serif;
    font-size: 18px;
    line-height: 128%;
  }
  .step-payment__stepper {
    gap: 8px;
  }
  .step-payment__stepper-item {
    width: 40px;
    height: 40px;
  }
  .step-payment__stepper-item--active {
    min-width: 130px;
    padding: 0 12px;
  }
  .step-payment__stepper-item--active > svg {
    width: 18px;
    height: 18px;
  }
  .step-payment__stepper-label {
    font-size: 12px;
    line-height: 16px;
  }
  .step-payment__payment-section {
    margin-top: 0px;
  }
  .step-payment__payment-title {
    font-size: 14px;
    line-height: 138%;
  }
  .step-payment__payment-description {
    font-size: 14px;
    margin-top: 12px;
  }
  .step-payment__account-form {
    margin-top: 16px;
  }
  .step-payment__account-form-title {
    font-size: 14px;
    line-height: 20px;
  }
  .step-payment__inputs-wrapper {
    gap: 20px;
    margin-top: 16px;
  }
  .step-payment__input-group {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .step-payment__input-group--cnpj-titular {
    grid-template-columns: 1fr;
  }
  .step-payment__recharge-section {
    margin-top: 32px;
  }
  .step-payment__recharge-title {
    font-size: 14px;
    line-height: 20px;
  }
  .step-payment__recharge-description {
    font-size: 14px;
    margin-top: 8px;
  }
  .step-payment__recharge-options {
    flex-direction: column;
    gap: 12px;
    margin-top: 16px;
  }
  .step-payment__recharge-label {
    font-size: 14px;
    line-height: 20px;
    padding: 14px 8px;
    min-width: calc(50% - 6px);
  }
  .step-payment__recharge-note {
    margin-top: 24px;
    font-size: 12px;
  }
  .step-payment__recharge-note > strong {
    font-size: 12px;
  }
  .step-payment__actions {
    flex-direction: column-reverse;
    gap: 16px;
    margin-top: 32px;
    margin-bottom: 32px;
  }
  .step-payment__button {
    width: 100%;
    max-width: 100%;
    height: 54px;
    font-size: 18px;
  }
  .step-payment__button--outline {
    border: 1.4px solid #33820d;
  }
}

.step-5__info-intro {
  font-family: "Nunito", sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 24px;
  color: #505050;
  margin: 0;
}
.step-5__info-intro strong {
  font-weight: 700;
}
.step-5__info-section {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.step-5__info-section-title {
  font-family: "Nunito", sans-serif;
  font-weight: 700;
  font-size: 16px;
  line-height: 24px;
  color: #505050;
  margin: 0;
}
.step-5__info-section-title--plan-name {
  font-family: "Exo 2", sans-serif;
  font-size: 20px;
  line-height: 24px;
}
.step-5__plate-card {
  background-color: transparent;
  border-radius: 0;
  padding: 0;
  display: flex;
  align-items: flex-end;
  gap: 12px;
}
.step-5__plate-icon {
  width: 44px;
  height: 44px;
  border-radius: 6px;
  background-color: #f0f0f0;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  padding: 10px;
}
.step-5__plate-icon svg {
  width: 24px;
  height: 24px;
}
.step-5__plate-info {
  display: flex;
  flex-direction: column;
  gap: 0;
  flex: 1;
}
.step-5__plate-plan {
  font-family: "Nunito", sans-serif;
  font-weight: 400;
  font-size: 12px;
  line-height: 16px;
  color: #767676;
  margin: 0;
}
.step-5__plate-vehicle {
  font-family: "Nunito", sans-serif;
  font-weight: 700;
  font-size: 14px;
  line-height: 18px;
  color: #505050;
  margin: 0;
}
.step-5__availability {
  font-family: "Nunito", sans-serif;
  font-weight: 700;
  font-size: 12px;
  line-height: 16px;
  color: #505050;
  background-color: #ecf6e7;
  border-radius: 4px;
  padding: 4px 8px;
  margin: 0;
  display: inline-flex;
  align-items: center;
  width: fit-content;
}
.step-5__info-item {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.step-5__info-label {
  font-family: "Nunito", sans-serif;
  font-weight: 700;
  font-size: 14px;
  line-height: 18px;
  color: #4a4a4a;
  margin: 0;
}
.step-5__info-value {
  font-family: "Nunito", sans-serif;
  font-weight: 400;
  font-size: 12px;
  line-height: 16px;
  color: #767676;
  margin: 0;
}
.step-5__info-values {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.step-5__value-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  font-family: "Nunito", sans-serif;
  font-size: 12px;
  line-height: 16px;
  color: #767676;
}
.step-5__value-label {
  font-weight: 400;
}
.step-5__value-note {
  font-weight: 400;
  color: #767676;
}
.step-5__value-amount {
  display: flex;
  align-items: flex-end;
  gap: 4px;
  font-family: "Exo 2", sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: 24px;
  color: #444444;
}
.step-5__value-amount::before {
  content: "R$";
  font-family: "Nunito", sans-serif;
  font-weight: 700;
  font-size: 14px;
  line-height: 18px;
  display: flex;
  align-items: flex-end;
  color: #444444;
}
.step-5__info-highlight {
  background-color: #ecf6e7;
  border-radius: 4px;
  padding: 12px 8px;
}
.step-5__info-highlight p {
  font-family: "Nunito", sans-serif;
  font-weight: 400;
  font-size: 12px;
  line-height: 16px;
  color: #505050;
  margin: 0;
}
.step-5__info-disclaimer {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.step-5__info-disclaimer p {
  font-family: "Nunito", sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 18px;
  color: #767676;
  margin: 0;
}
.step-5__plan-details-button {
  display: none;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding: 0px;
  background: rgb(236, 246, 231);
  border-radius: 8px;
  border: none;
  color: #33820c;
  font-family: "Nunito", sans-serif;
  font-weight: 700;
  font-size: 16px;
  line-height: 24px;
  margin-top: 12px;
  cursor: pointer;
  transition: background-color 0.2s ease;
  align-self: stretch;
  flex-grow: 0;
  gap: 8px;
}
.step-5__plan-details-button svg {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}
.step-5__plan-details-button:hover {
  background: rgba(236, 246, 231, 0.9);
}
@media screen and (max-width: 768px) {
  .step-5__plan-details-button {
    display: flex;
    font-size: 14px;
    line-height: 138%;
    padding: 10px 15px;
    margin-top: 8px;
    margin-bottom: 8px;
  }
}

.step-confirmation {
  background-color: #ffffff;
  display: flex;
  padding: 20px;
  min-height: 100svh;
}
.step-confirmation__container {
  display: grid;
  grid-template-columns: 360px 1fr;
  gap: 48px;
  flex: 1;
}
.step-confirmation__sidebar {
  background-color: #faf9f9;
  border-radius: 12px;
  display: flex;
  flex-direction: column;
  padding: 40px 32px;
}
.step-confirmation__sidebar-title {
  font-family: "Nunito", sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 24px;
  text-align: center;
  color: #505050;
  margin-bottom: 40px;
}
.step-confirmation__sidebar-title strong {
  font-weight: 700;
}
.step-confirmation__sidebar-text {
  font-family: "Nunito", sans-serif;
  font-weight: 400;
  font-size: 12px;
  line-height: 16px;
  color: #323c32;
}
.step-confirmation__sidebar-text:not(:first-child) {
  margin-top: 8px;
}
.step-confirmation__sidebar-text strong {
  font-weight: 700;
}
.step-confirmation__sidebar-footer {
  margin-top: auto;
  padding-top: 24px;
}
.step-confirmation__sidebar-logos {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
}
.step-confirmation__sidebar-logos > svg:first-child {
  width: 100%;
  max-width: 96px;
  height: auto;
}
.step-confirmation__sidebar-logos-separator {
  display: block;
  width: 1px;
  height: 36px;
  background-color: #cdd3cd;
}
.step-confirmation__sidebar-logos > svg:last-child {
  width: 100%;
  max-width: 113px;
  height: auto;
}
.step-confirmation__content {
  display: flex;
  flex-direction: column;
}
.step-confirmation__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}
.step-confirmation__title {
  font-family: "Exo 2", sans-serif;
  font-weight: 700;
  font-size: 24px;
  line-height: 32px;
  color: #505050;
}
.step-confirmation__stepper {
  display: flex;
  align-items: center;
  gap: 12px;
}
.step-confirmation__stepper-item {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  color: #ffffff;
  background-color: #33820c;
  border-radius: 50%;
  flex-shrink: 0;
  transition: all 0.2s ease-in-out;
}
.step-confirmation__stepper-item--active {
  background-color: #ffffff;
  border: 1px solid #33820c;
  color: #33820c;
  width: auto;
  padding: 0 16px;
  border-radius: 24px;
}
.step-confirmation__stepper-item--active .step-confirmation__stepper-label {
  display: inline;
}
.step-confirmation__stepper-item--active > svg {
  width: 20px;
  height: 20px;
}
.step-confirmation__stepper-label {
  font-family: "Nunito", sans-serif;
  font-weight: 700;
  font-size: 14px;
  line-height: 18px;
  display: none;
  color: #33820c;
}
.step-confirmation__summary {
  margin-top: 26px;
  flex: 1;
  display: flex;
  flex-direction: column;
}
.step-confirmation__summary-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 70px;
  margin-bottom: 32px;
}
.step-confirmation__summary-left {
  display: flex;
  flex-direction: column;
  gap: 40px;
}
.step-confirmation__card-header {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 16px;
}
.step-confirmation__card-icon {
  color: #33820c;
  flex-shrink: 0;
}
.step-confirmation__card-title {
  font-family: "Nunito", sans-serif;
  font-weight: 700;
  font-size: 16px;
  line-height: 24px;
  color: #33820c;
}
.step-confirmation__plan-info {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.step-confirmation__plan-name {
  font-family: "Nunito", sans-serif;
  font-weight: 700;
  font-size: 16px;
  line-height: 24px;
}
.step-confirmation__plan-values {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.step-confirmation__plan-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.step-confirmation__plan-label {
  font-family: "Nunito", sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 18px;
  color: #767676;
}
.step-confirmation__plan-label > strong {
  font-weight: 700;
}
.step-confirmation__plan-amount {
  font-family: "Exo 2", sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: 24px;
  color: #444444;
}
.step-confirmation__plan-amount > small {
  font-family: "Nunito", sans-serif;
  font-weight: 700;
  font-size: 14px;
  line-height: 18px;
}
.step-confirmation__divider {
  width: 100%;
  height: 1px;
  background-color: #cccccc;
  display: block;
}
.step-confirmation__payment-subtitle {
  font-family: "Exo 2", sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: 24px;
  color: #505050;
  margin-bottom: 10px;
}
.step-confirmation__payment-description {
  font-family: "Nunito", sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 18px;
  color: #767676;
  text-wrap: pretty;
  max-width: 400px;
}
.step-confirmation__pickup-title {
  font-family: "Nunito", sans-serif;
  font-weight: 700;
  font-size: 18px;
  line-height: 128%;
  color: #505050;
  margin-bottom: 32px;
}
.step-confirmation__pickup-info {
  background-color: #FAFAFA;
  border-left: 4px solid #828A82;
  border-radius: 4px;
  padding: 16px 12px;
}
.step-confirmation__pickup-text {
  font-family: "Nunito", sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 18px;
  color: #323C32;
}
.step-confirmation__pickup-text:first-of-type {
  margin-top: 8px;
}
.step-confirmation__pickup-link {
  color: #33820c;
}
.step-confirmation__terms {
  display: flex;
  flex-wrap: wrap;
  margin-top: 24px;
}
.step-confirmation__terms-checkbox {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.step-confirmation__terms-label {
  display: flex;
  align-items: center;
  gap: 12px;
  cursor: pointer;
  user-select: none;
}
.step-confirmation__terms-icon {
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  border: 1.5px solid #33820c;
  border-radius: 4px;
  background-color: #ffffff;
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background-color 150ms ease-in-out, color 150ms ease-in-out;
}
.step-confirmation__terms-checkbox:checked ~ .step-confirmation__terms-label .step-confirmation__terms-icon {
  background-color: #33820c;
}
.step-confirmation__terms-checkbox:not(:checked) ~ .step-confirmation__terms-label .step-confirmation__terms-icon {
  color: transparent;
}
.step-confirmation__terms-text {
  font-family: "Nunito", sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 18px;
  color: #767676;
}
.step-confirmation__terms-error {
  display: block;
  width: 100%;
  margin-top: 8px;
  padding-left: 36px;
  font-family: "Nunito", sans-serif;
  font-weight: 600;
  font-size: 12px;
  line-height: 16px;
  color: #e53935;
}
.step-confirmation__terms--error .step-confirmation__terms-icon {
  border-color: #e53935;
}
.step-confirmation__link {
  color: #33820c;
  text-decoration: none;
  font-weight: 700;
}
.step-confirmation__actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 30px;
  margin-top: auto;
  padding-top: 48px;
}
.step-confirmation__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  flex-shrink: 0;
  height: 54px;
  padding: 8px 16px;
  font-family: "Exo 2", sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: 24px;
  border-radius: 8px;
  border: 0;
  width: 100%;
  max-width: 260px;
  cursor: pointer;
  transition: all 0.2s ease-in-out;
}
.step-confirmation__button--primary {
  background-color: #33820c;
  color: #ffffff;
}
.step-confirmation__button--primary:hover {
  background-color: #2a6b0a;
}
.step-confirmation__button--outline {
  background-color: transparent;
  color: #33820c;
  border: 1px solid #33820c;
}
.step-confirmation__button--outline:hover {
  background-color: #f0f7ed;
}
@media screen and (max-width: 768px) {
  .step-confirmation {
    padding: 0;
  }
  .step-confirmation__container {
    grid-template-columns: 1fr;
    gap: 16px;
    padding: 16px;
  }
  .step-confirmation__sidebar {
    display: none;
  }
  .step-confirmation__header {
    flex-direction: column-reverse;
    align-items: flex-start;
    gap: 44px;
  }
  .step-confirmation__title {
    font-size: 18px;
    line-height: 128%;
  }
  .step-confirmation__stepper {
    gap: 8px;
  }
  .step-confirmation__stepper-item {
    width: 40px;
    height: 40px;
  }
  .step-confirmation__stepper-item--active {
    min-width: 130px;
    padding: 0 12px;
  }
  .step-confirmation__stepper-item--active > svg {
    width: 18px;
    height: 18px;
  }
  .step-confirmation__stepper-label {
    font-size: 12px;
    line-height: 16px;
  }
  .step-confirmation__summary {
    margin-top: 16px;
  }
  .step-confirmation__summary-grid {
    grid-template-columns: 1fr;
    gap: 24px;
    margin-bottom: 24px;
  }
  .step-confirmation__summary-left {
    gap: 24px;
  }
  .step-confirmation__card-title {
    font-size: 14px;
    line-height: 20px;
  }
  .step-confirmation__plan-name {
    font-size: 14px;
    line-height: 20px;
  }
  .step-confirmation__plan-label {
    font-size: 12px;
    line-height: 16px;
  }
  .step-confirmation__plan-amount {
    font-size: 18px;
    line-height: 22px;
  }
  .step-confirmation__plan-amount > small {
    font-size: 12px;
    line-height: 16px;
  }
  .step-confirmation__payment-subtitle {
    font-size: 16px;
    line-height: 20px;
    margin-bottom: 8px;
  }
  .step-confirmation__payment-description {
    font-size: 14px;
    line-height: 138%;
    max-width: 100%;
  }
  .step-confirmation__pickup-title {
    font-size: 16px;
    line-height: 128%;
    margin-bottom: 20px;
  }
  .step-confirmation__pickup-info {
    padding: 20px 16px;
    border-radius: 12px;
  }
  .step-confirmation__pickup-text {
    font-size: 14px;
    line-height: 128%;
  }
  .step-confirmation__terms {
    margin-top: 20px;
  }
  .step-confirmation__terms-label {
    gap: 10px;
  }
  .step-confirmation__terms-icon {
    width: 20px;
    height: 20px;
  }
  .step-confirmation__terms-text {
    font-size: 12px;
    line-height: 16px;
  }
  .step-confirmation__terms-error {
    margin-top: 6px;
    padding-left: 30px;
    font-size: 11px;
    line-height: 14px;
  }
  .step-confirmation__actions {
    flex-direction: column-reverse;
    gap: 16px;
    margin-top: 32px;
    margin-bottom: 32px;
  }
  .step-confirmation__button {
    width: 100%;
    max-width: 100%;
    height: 54px;
    font-size: 18px;
  }
  .step-confirmation__button--outline {
    border: 1.4px solid #33820c;
  }
}

.step-confirmation-shipping {
  background-color: #ffffff;
  display: flex;
  padding: 20px;
  min-height: 100svh;
}
.step-confirmation-shipping__container {
  display: grid;
  grid-template-columns: 360px 1fr;
  gap: 48px;
  flex: 1;
}
.step-confirmation-shipping__sidebar {
  background-color: #faf9f9;
  border-radius: 12px;
  display: flex;
  flex-direction: column;
  padding: 40px 32px;
}
.step-confirmation-shipping__sidebar-title {
  font-family: "Nunito", sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 24px;
  text-align: center;
  color: #505050;
  margin-bottom: 40px;
}
.step-confirmation-shipping__sidebar-title strong {
  font-weight: 700;
}
.step-confirmation-shipping__sidebar-text {
  font-family: "Nunito", sans-serif;
  font-weight: 400;
  font-size: 12px;
  line-height: 16px;
  color: #323c32;
}
.step-confirmation-shipping__sidebar-text:not(:first-child) {
  margin-top: 8px;
}
.step-confirmation-shipping__sidebar-text strong {
  font-weight: 700;
}
.step-confirmation-shipping__sidebar-footer {
  margin-top: auto;
  padding-top: 24px;
}
.step-confirmation-shipping__sidebar-logos {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
}
.step-confirmation-shipping__sidebar-logos > svg:first-child {
  width: 100%;
  max-width: 96px;
  height: auto;
}
.step-confirmation-shipping__sidebar-logos-separator {
  display: block;
  width: 1px;
  height: 36px;
  background-color: #cdd3cd;
}
.step-confirmation-shipping__sidebar-logos > svg:last-child {
  width: 100%;
  max-width: 113px;
  height: auto;
}
.step-confirmation-shipping__content {
  display: flex;
  flex-direction: column;
}
.step-confirmation-shipping__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}
.step-confirmation-shipping__title {
  font-family: "Exo 2", sans-serif;
  font-weight: 700;
  font-size: 24px;
  line-height: 32px;
  color: #505050;
}
.step-confirmation-shipping__stepper {
  display: flex;
  align-items: center;
  gap: 12px;
}
.step-confirmation-shipping__stepper-item {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  color: #ffffff;
  background-color: #33820c;
  border-radius: 50%;
  flex-shrink: 0;
  transition: all 0.2s ease-in-out;
}
.step-confirmation-shipping__stepper-item--active {
  background-color: #ffffff;
  border: 1px solid #33820c;
  color: #33820c;
  width: auto;
  padding: 0 16px;
  border-radius: 24px;
}
.step-confirmation-shipping__stepper-item--active .step-confirmation-shipping__stepper-label {
  display: inline;
}
.step-confirmation-shipping__stepper-item--active > svg {
  width: 20px;
  height: 20px;
}
.step-confirmation-shipping__stepper-label {
  font-family: "Nunito", sans-serif;
  font-weight: 700;
  font-size: 14px;
  line-height: 18px;
  display: none;
  color: #33820c;
}
.step-confirmation-shipping__summary {
  margin-top: 26px;
  flex: 1;
  display: flex;
  flex-direction: column;
}
.step-confirmation-shipping__summary-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 70px;
  margin-bottom: 32px;
}
.step-confirmation-shipping__summary-left {
  display: flex;
  flex-direction: column;
  gap: 40px;
}
.step-confirmation-shipping__card-header {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 16px;
}
.step-confirmation-shipping__card-icon {
  color: #33820c;
  flex-shrink: 0;
}
.step-confirmation-shipping__card-title {
  font-family: "Nunito", sans-serif;
  font-weight: 700;
  font-size: 16px;
  line-height: 24px;
  color: #33820c;
}
.step-confirmation-shipping__plan-info {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.step-confirmation-shipping__plan-name {
  font-family: "Nunito", sans-serif;
  font-weight: 700;
  font-size: 16px;
  line-height: 24px;
}
.step-confirmation-shipping__plan-values {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.step-confirmation-shipping__plan-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.step-confirmation-shipping__plan-label {
  font-family: "Nunito", sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 18px;
  color: #767676;
}
.step-confirmation-shipping__plan-label > strong {
  font-weight: 700;
}
.step-confirmation-shipping__plan-amount {
  font-family: "Exo 2", sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: 24px;
  color: #444444;
  text-align: right;
}
.step-confirmation-shipping__plan-amount > small {
  font-family: "Nunito", sans-serif;
  font-weight: 700;
  font-size: 14px;
  line-height: 18px;
}
.step-confirmation-shipping__divider {
  width: 100%;
  height: 1px;
  background-color: #cccccc;
  display: block;
}
.step-confirmation-shipping__divider--mobile-only {
  display: none;
}
.step-confirmation-shipping__payment-subtitle {
  font-family: "Exo 2", sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: 24px;
  color: #505050;
  margin-bottom: 10px;
}
.step-confirmation-shipping__payment-description {
  font-family: "Nunito", sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 18px;
  color: #767676;
  text-wrap: pretty;
}
.step-confirmation-shipping__delivery-text {
  font-family: "Nunito", sans-serif;
  font-weight: 400;
  font-style: Regular;
  font-size: 14px;
  color: #767676;
  line-height: 18px;
}
.step-confirmation-shipping__delivery-text > strong {
  font-weight: 700;
}
.step-confirmation-shipping__shipping-options {
  margin-top: 16px;
}
.step-confirmation-shipping__shipping-options .step-confirmation-shipping__card-header {
  margin-bottom: 10px;
}
.step-confirmation-shipping__shipping-time {
  font-family: "Exo 2", sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: 24px;
  color: #505050;
}
.step-confirmation-shipping__shipping-price {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 10px;
}
.step-confirmation-shipping__shipping-price-label {
  font-family: "Nunito", sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 18px;
  color: #767676;
}
.step-confirmation-shipping__shipping-price-amount {
  font-family: "Exo 2", sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: 24px;
  text-align: right;
  color: #444444;
}
.step-confirmation-shipping__shipping-price-amount > small {
  font-family: "Nunito", sans-serif;
  font-weight: 700;
  font-size: 14px;
  line-height: 18px;
}
.step-confirmation-shipping__shipping-obs {
  display: block;
  font-family: "Nunito", sans-serif;
  font-weight: 400;
  font-size: 12px;
  line-height: 16px;
  color: #767676;
  margin-top: 6px;
}
.step-confirmation-shipping__alternate-address-button {
  align-items: center;
  border-radius: 12px;
  cursor: pointer;
  display: inline-flex;
  font-family: "Nunito", sans-serif;
  font-size: 16px;
  font-weight: 400;
  height: 56px;
  justify-content: center;
  line-height: 24px;
  padding: 16px;
  gap: 8px;
  transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
  white-space: nowrap;
  width: 100%;
  border: 1px solid #33820c;
  color: #33820c;
  background: transparent;
  margin-top: 60px;
}
.step-confirmation-shipping__alternate-address-button > svg {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
}
.step-confirmation-shipping__alternate-address-button > strong {
  font-weight: 700;
}
.step-confirmation-shipping__terms {
  display: flex;
  flex-wrap: wrap;
  margin-top: 24px;
}
.step-confirmation-shipping__terms-checkbox {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.step-confirmation-shipping__terms-label {
  display: flex;
  align-items: center;
  gap: 12px;
  cursor: pointer;
  user-select: none;
}
.step-confirmation-shipping__terms-icon {
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  border: 1.5px solid #33820c;
  border-radius: 4px;
  background-color: #ffffff;
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background-color 150ms ease-in-out, color 150ms ease-in-out;
}
.step-confirmation-shipping__terms-checkbox:checked ~ .step-confirmation-shipping__terms-label .step-confirmation-shipping__terms-icon {
  background-color: #33820c;
}
.step-confirmation-shipping__terms-checkbox:not(:checked) ~ .step-confirmation-shipping__terms-label .step-confirmation-shipping__terms-icon {
  color: transparent;
}
.step-confirmation-shipping__terms-text {
  font-family: "Nunito", sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 18px;
  color: #767676;
}
.step-confirmation-shipping__terms-error {
  display: block;
  width: 100%;
  margin-top: 8px;
  padding-left: 36px;
  font-family: "Nunito", sans-serif;
  font-weight: 600;
  font-size: 12px;
  line-height: 16px;
  color: #e53935;
}
.step-confirmation-shipping__terms--error .step-confirmation-shipping__terms-icon {
  border-color: #e53935;
}
.step-confirmation-shipping__link {
  color: #33820c;
  text-decoration: none;
  font-weight: 700;
}
.step-confirmation-shipping__actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 30px;
  margin-top: auto;
  padding-top: 48px;
}
.step-confirmation-shipping__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  flex-shrink: 0;
  height: 54px;
  padding: 8px 16px;
  font-family: "Exo 2", sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: 24px;
  border-radius: 8px;
  border: 0;
  width: 100%;
  max-width: 260px;
  cursor: pointer;
  transition: all 0.2s ease-in-out;
}
.step-confirmation-shipping__button--primary {
  background-color: #33820c;
  color: #ffffff;
}
.step-confirmation-shipping__button--primary:hover {
  background-color: #2a6b0a;
}
.step-confirmation-shipping__button--outline {
  background-color: transparent;
  color: #33820c;
  border: 1px solid #33820c;
}
.step-confirmation-shipping__button--outline:hover {
  background-color: #f0f7ed;
}
.step-confirmation-shipping__mobile-info {
  display: none;
}
@media screen and (max-width: 768px) {
  .step-confirmation-shipping {
    padding: 16px;
  }
  .step-confirmation-shipping__container {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .step-confirmation-shipping__sidebar {
    display: none;
  }
  .step-confirmation-shipping__header {
    flex-direction: column-reverse;
    gap: 44px;
  }
  .step-confirmation-shipping__title {
    font-family: "Nunito", sans-serif;
    font-size: 18px;
    line-height: 128%;
  }
  .step-confirmation-shipping__summary-grid {
    grid-template-columns: 1fr;
    margin-bottom: 0;
    gap: 20px;
  }
  .step-confirmation-shipping__summary-left {
    gap: 20px;
  }
  .step-confirmation-shipping__divider--mobile-only {
    display: block;
  }
  .step-confirmation-shipping__payment-subtitle {
    font-family: "Nunito", sans-serif;
    font-size: 18px;
    line-height: 128%;
  }
  .step-confirmation-shipping__shipping-time {
    font-family: "Nunito", sans-serif;
    font-size: 18px;
    line-height: 128%;
  }
  .step-confirmation-shipping__shipping-price {
    margin-top: 6px;
  }
  .step-confirmation-shipping__alternate-address-button {
    margin-top: 28px;
  }
  .step-confirmation-shipping__terms {
    margin-top: 30px;
  }
  .step-confirmation-shipping__actions {
    margin-top: 0;
    padding-top: 40px;
  }
  .step-confirmation-shipping__actions > button:first-child {
    display: none;
  }
  .step-confirmation-shipping__actions > button:last-child {
    max-width: 100%;
  }
  .step-confirmation-shipping__mobile-info {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-top: 40px;
  }
  .step-confirmation-shipping__mobile-info-text {
    font-family: "Nunito", sans-serif;
    font-weight: 400;
    font-size: 12px;
    line-height: 16px;
    color: #323c32;
  }
}

.step-completed {
  background-color: #ffffff;
  display: flex;
  padding: 20px;
  min-height: 100svh;
}
.step-completed__container {
  flex: 1;
  background-color: #faf9f9;
  border-radius: 12px;
  padding: 30px 32px;
}
.step-completed__logos {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 14px;
}
.step-completed__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  max-width: 684px;
  margin-inline: auto;
}
.step-completed__icon-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  background-color: #f0f8f0;
  color: #739e41;
  border-radius: 50%;
  margin-bottom: 12px;
}
.step-completed__title {
  font-family: "Exo 2", sans-serif;
  font-weight: 700;
  font-size: 24px;
  line-height: 32px;
  text-align: center;
  color: #505050;
}
.step-completed__qr-wrapper {
  position: relative;
}
.step-completed__qr-image {
  width: 100%;
  max-width: 520px;
  margin-top: 30px;
}
.step-completed__qr-section {
  display: flex;
  align-items: center;
  width: 100%;
  max-width: 440px;
  margin-top: 32px;
  background-color: #3fa110;
  border-radius: 16px;
  padding: 20px 32px;
  position: relative;
  z-index: 2;
}
.step-completed__qr-shadow {
  position: absolute;
  left: 50%;
  bottom: -12px;
  background-color: #000000;
  transform: translateX(-50%);
  z-index: 1;
  filter: blur(28px);
  border-radius: 32px;
  height: 56px;
}
.step-completed__qr-shadow--1 {
  width: 60%;
  opacity: 0.3;
  bottom: -12px;
}
.step-completed__qr-shadow--2 {
  width: 90%;
  opacity: 0.65;
  bottom: -4px;
}
.step-completed__qr-code {
  color: #ffffff;
  margin-right: 24px;
}
.step-completed__qr-code > svg {
  width: 100%;
  height: auto;
}
.step-completed__qr-logos {
  display: flex;
  align-items: center;
  gap: 8px;
}
.step-completed__qr-logo {
  color: #ffffff;
}
.step-completed__qr-logo--sicredi {
  width: 100%;
  max-width: 124px;
  height: auto;
  margin-right: 14px;
}
.step-completed__qr-logo--sicredi > svg {
  width: 100%;
  height: auto;
}
.step-completed__qr-logo--sem-parar-empresas {
  width: 100%;
  max-width: 80px;
  height: auto;
}
.step-completed__qr-logo--sem-parar-empresas > svg {
  width: 100%;
}
.step-completed__status-update {
  font-family: "Nunito", sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 24px;
  text-align: center;
  color: #505050;
}
.step-completed__status-update > strong {
  font-weight: 700;
}
.step-completed__pickup-section {
  width: 100%;
}
.step-completed__pickup-section .step-completed__button {
  border: 0;
  border-radius: 8px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  font-family: "Nunito", sans-serif;
  font-size: 14px;
  font-weight: 700;
  height: 51px;
  justify-content: center;
  line-height: 138%;
  width: 100%;
  max-width: 248px;
  padding: 16px;
  background-color: #33820D;
  color: #ffffff;
}
.step-completed__pickup-info {
  margin-block: 16px 32px;
  padding: 16px;
  border: 1px solid #cccccc;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.step-completed__pickup-title {
  font-family: "Nunito", sans-serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 128%;
}
.step-completed__pickup-title > span {
  color: #33820d;
  font-weight: 700;
}
.step-completed__pickup-text {
  font-family: "Nunito", sans-serif;
  font-weight: 400;
  font-size: 12px;
  line-height: 138%;
  color: #444444;
  max-width: 380px;
  margin-top: 12px;
}
.step-completed__shipping-section {
  margin-top: 0px;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}
.step-completed__shipping-info {
  margin-block: 16px 32px;
  padding: 16px;
  border: 1px solid #cccccc;
  border-radius: 8px;
  width: 100%;
  max-width: 652px;
}
.step-completed__shipping-info-text {
  width: 100%;
  margin: 0 auto;
  font-family: "Nunito", sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 16px;
  line-height: 24px;
  text-align: center;
  color: #767676;
}
.step-completed__shipping-info-text > strong {
  color: #33820d;
  font-weight: 700;
}
.step-completed__portal-section {
  display: grid;
  grid-template-columns: 1fr 1px 1fr;
  gap: 20px;
}
.step-completed__portal-section .step-completed__button {
  border: 0;
  border-radius: 8px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  font-family: "Nunito", sans-serif;
  font-size: 14px;
  font-weight: 700;
  height: 40px;
  justify-content: center;
  line-height: 138%;
  width: 100%;
  padding: 12px 8px;
  background-color: #ffffff;
  color: #444444;
}
.step-completed__portal-info {
  position: relative;
  border-radius: 16px;
  background: linear-gradient(110.83deg, #ec0000 -16.86%, #cc0000 50.79%, #505050 108.03%);
  padding: 50px 16px 36px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.step-completed__portal-img {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
  inset: 0;
  user-select: none;
  pointer-events: none;
}
.step-completed__portal-content {
  max-width: 144px;
  position: relative;
  z-index: 2;
}
.step-completed__portal-title {
  font-family: "Nunito", sans-serif;
  font-weight: 700;
  font-size: 16px;
  line-height: 138%;
  color: #ffffff;
}
.step-completed__portal-text {
  font-family: "Nunito", sans-serif;
  font-weight: 400;
  font-size: 12px;
  line-height: 138%;
  color: #ffffff;
  margin-block: 16px 20px;
}
.step-completed__portal-divider {
  display: block;
  background-color: #cccccc;
}
.step-completed__portal-note {
  font-family: "Nunito", sans-serif;
  font-weight: 400;
  line-height: 120%;
  color: #444444;
}
.step-completed__portal-note > strong {
  font-weight: 700;
}
.step-completed__portal-note a {
  color: #444444;
  text-decoration: none;
}
@media screen and (max-width: 768px) {
  .step-completed {
    padding: 12px;
  }
  .step-completed__logos > svg:first-child {
    max-width: 72px;
  }
  .step-completed__logos > svg:last-child {
    max-width: 84px;
  }
  .step-completed__container {
    background-color: transparent;
    border-radius: 0;
    padding: 0;
  }
  .step-completed__content {
    padding: 48px 20px;
    background-color: #faf9f9;
    border-radius: 8px;
  }
  .step-completed__title {
    font-size: 18px;
    line-height: 128%;
    text-wrap: pretty;
  }
  .step-completed__qr-section {
    padding: 8px 16px;
    border-radius: 10px;
  }
  .step-completed__qr-code {
    margin-right: 16px;
    max-width: 56px;
  }
  .step-completed__qr-separator {
    width: 14px;
    height: auto;
  }
  .step-completed__qr-logo--sicredi {
    margin-right: 4px;
    max-width: 96px;
  }
  .step-completed__qr-logo--sem-parar-empresas {
    max-width: 56px;
  }
  .step-completed__pickup-title {
    font-size: 14px;
    line-height: 138%;
  }
  .step-completed__pickup-title > span {
    font-size: 16px;
  }
  .step-completed__pickup-info {
    flex-direction: column;
  }
  .step-completed__status-update {
    font-size: 14px;
    line-height: 138%;
  }
  .step-completed__portal-section {
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .step-completed__portal-content {
    max-width: 138px;
  }
  .step-completed__portal-divider {
    display: none;
  }
  .step-completed__portal-note {
    font-size: 14px;
    line-height: 120%;
    text-align: center;
  }
}

body {
  min-height: 100svh;
}

html h1,
html h2,
html h3,
html h4,
html h5,
html h6,
html p,
body h1,
body h2,
body h3,
body h4,
body h5,
body h6,
body p {
  margin: 0;
  padding: 0;
}

.checkout-spa {
  width: 100%;
  min-height: 100vh;
}
