@charset "UTF-8";@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@200;300;400;500;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@200;300;400;500;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@200;300;400;500;700&display=swap');
.react-datepicker__navigation-icon::before, .react-datepicker__year-read-view--down-arrow,
.react-datepicker__month-read-view--down-arrow,
.react-datepicker__month-year-read-view--down-arrow {
  border-color: #ccc;
  border-style: solid;
  border-width: 3px 3px 0 0;
  content: "";
  display: block;
  height: 9px;
  position: absolute;
  top: 6px;
  width: 9px;
}
.react-datepicker-wrapper {
  display: inline-block;
  padding: 0;
  border: 0;
}

.react-datepicker {
  font-family: "Helvetica Neue", helvetica, arial, sans-serif;
  font-size: 0.8rem;
  background-color: #fff;
  color: #000;
  border: 1px solid #aeaeae;
  border-radius: 0.3rem;
  display: inline-block;
  position: relative;
  line-height: initial;
}

.react-datepicker--time-only .react-datepicker__time-container {
  border-left: 0;
}
.react-datepicker--time-only .react-datepicker__time,
.react-datepicker--time-only .react-datepicker__time-box {
  border-bottom-left-radius: 0.3rem;
  border-bottom-right-radius: 0.3rem;
}

.react-datepicker-popper {
  z-index: 1;
  line-height: 0;
}
.react-datepicker-popper .react-datepicker__triangle {
  stroke: #aeaeae;
}
.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle {
  fill: #f0f0f0;
  color: #f0f0f0;
}
.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle {
  fill: #fff;
  color: #fff;
}

.react-datepicker__header {
  text-align: center;
  background-color: #f0f0f0;
  border-bottom: 1px solid #aeaeae;
  border-top-left-radius: 0.3rem;
  padding: 8px 0;
  position: relative;
}
.react-datepicker__header--time {
  padding-bottom: 8px;
  padding-left: 5px;
  padding-right: 5px;
}
.react-datepicker__header--time:not(.react-datepicker__header--time--only) {
  border-top-left-radius: 0;
}
.react-datepicker__header:not(.react-datepicker__header--has-time-select) {
  border-top-right-radius: 0.3rem;
}

.react-datepicker__year-dropdown-container--select,
.react-datepicker__month-dropdown-container--select,
.react-datepicker__month-year-dropdown-container--select,
.react-datepicker__year-dropdown-container--scroll,
.react-datepicker__month-dropdown-container--scroll,
.react-datepicker__month-year-dropdown-container--scroll {
  display: inline-block;
  margin: 0 15px;
}

.react-datepicker__current-month,
.react-datepicker-time__header,
.react-datepicker-year-header {
  margin-top: 0;
  color: #000;
  font-weight: bold;
  font-size: 0.944rem;
}

h2.react-datepicker__current-month {
  padding: 0;
  margin: 0;
}

.react-datepicker-time__header {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.react-datepicker__navigation {
  align-items: center;
  background: none;
  display: flex;
  justify-content: center;
  text-align: center;
  cursor: pointer;
  position: absolute;
  top: 2px;
  padding: 0;
  border: none;
  z-index: 1;
  height: 32px;
  width: 32px;
  text-indent: -999em;
  overflow: hidden;
}
.react-datepicker__navigation--previous {
  left: 2px;
}
.react-datepicker__navigation--next {
  right: 2px;
}
.react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button) {
  right: 85px;
}
.react-datepicker__navigation--years {
  position: relative;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.react-datepicker__navigation--years-previous {
  top: 4px;
}
.react-datepicker__navigation--years-upcoming {
  top: -4px;
}
.react-datepicker__navigation:hover *::before {
  border-color: rgb(165.75, 165.75, 165.75);
}

.react-datepicker__navigation-icon {
  position: relative;
  top: -1px;
  font-size: 20px;
  width: 0;
}
.react-datepicker__navigation-icon--next {
  left: -2px;
}
.react-datepicker__navigation-icon--next::before {
  transform: rotate(45deg);
  left: -7px;
}
.react-datepicker__navigation-icon--previous {
  right: -2px;
}
.react-datepicker__navigation-icon--previous::before {
  transform: rotate(225deg);
  right: -7px;
}

.react-datepicker__month-container {
  float: left;
}

.react-datepicker__year {
  margin: 0.4rem;
  text-align: center;
}
.react-datepicker__year-wrapper {
  display: flex;
  flex-wrap: wrap;
  max-width: 180px;
}
.react-datepicker__year .react-datepicker__year-text {
  display: inline-block;
  width: 4rem;
  margin: 2px;
}

.react-datepicker__month {
  margin: 0.4rem;
  text-align: center;
}
.react-datepicker__month .react-datepicker__month-text,
.react-datepicker__month .react-datepicker__quarter-text {
  display: inline-block;
  width: 4rem;
  margin: 2px;
}

.react-datepicker__input-time-container {
  clear: both;
  width: 100%;
  float: left;
  margin: 5px 0 10px 15px;
  text-align: left;
}
.react-datepicker__input-time-container .react-datepicker-time__caption {
  display: inline-block;
}
.react-datepicker__input-time-container .react-datepicker-time__input-container {
  display: inline-block;
}
.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input {
  display: inline-block;
  margin-left: 10px;
}
.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input {
  width: auto;
}
.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-inner-spin-button,
.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time] {
  -moz-appearance: textfield;
}
.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__delimiter {
  margin-left: 5px;
  display: inline-block;
}

.react-datepicker__time-container {
  float: right;
  border-left: 1px solid #aeaeae;
  width: 85px;
}
.react-datepicker__time-container--with-today-button {
  display: inline;
  border: 1px solid #aeaeae;
  border-radius: 0.3rem;
  position: absolute;
  right: -87px;
  top: 0;
}
.react-datepicker__time-container .react-datepicker__time {
  position: relative;
  background: white;
  border-bottom-right-radius: 0.3rem;
}
.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box {
  width: 85px;
  overflow-x: hidden;
  margin: 0 auto;
  text-align: center;
  border-bottom-right-radius: 0.3rem;
}
.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list {
  list-style: none;
  margin: 0;
  height: calc(195px + 1.7rem / 2);
  overflow-y: scroll;
  padding-right: 0;
  padding-left: 0;
  width: 100%;
  box-sizing: content-box;
}
.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item {
  height: 30px;
  padding: 5px 10px;
  white-space: nowrap;
}
.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item:hover {
  cursor: pointer;
  background-color: #f0f0f0;
}
.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected {
  background-color: #216ba5;
  color: white;
  font-weight: bold;
}
.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected:hover {
  background-color: #216ba5;
}
.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled {
  color: #ccc;
}
.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled:hover {
  cursor: default;
  background-color: transparent;
}

.react-datepicker__week-number {
  color: #ccc;
  display: inline-block;
  width: 1.7rem;
  line-height: 1.7rem;
  text-align: center;
  margin: 0.166rem;
}
.react-datepicker__week-number.react-datepicker__week-number--clickable {
  cursor: pointer;
}
.react-datepicker__week-number.react-datepicker__week-number--clickable:not(.react-datepicker__week-number--selected):hover {
  border-radius: 0.3rem;
  background-color: #f0f0f0;
}
.react-datepicker__week-number--selected {
  border-radius: 0.3rem;
  background-color: #216ba5;
  color: #fff;
}
.react-datepicker__week-number--selected:hover {
  background-color: rgb(28.75, 93.2196969697, 143.75);
}

.react-datepicker__day-names {
  white-space: nowrap;
  margin-bottom: -8px;
}

.react-datepicker__week {
  white-space: nowrap;
}

.react-datepicker__day-name,
.react-datepicker__day,
.react-datepicker__time-name {
  color: #000;
  display: inline-block;
  width: 1.7rem;
  line-height: 1.7rem;
  text-align: center;
  margin: 0.166rem;
}

.react-datepicker__day,
.react-datepicker__month-text,
.react-datepicker__quarter-text,
.react-datepicker__year-text {
  cursor: pointer;
}
.react-datepicker__day:not([aria-disabled=true]):hover,
.react-datepicker__month-text:not([aria-disabled=true]):hover,
.react-datepicker__quarter-text:not([aria-disabled=true]):hover,
.react-datepicker__year-text:not([aria-disabled=true]):hover {
  border-radius: 0.3rem;
  background-color: #f0f0f0;
}
.react-datepicker__day--today,
.react-datepicker__month-text--today,
.react-datepicker__quarter-text--today,
.react-datepicker__year-text--today {
  font-weight: bold;
}
.react-datepicker__day--highlighted,
.react-datepicker__month-text--highlighted,
.react-datepicker__quarter-text--highlighted,
.react-datepicker__year-text--highlighted {
  border-radius: 0.3rem;
  background-color: #3dcc4a;
  color: #fff;
}
.react-datepicker__day--highlighted:not([aria-disabled=true]):hover,
.react-datepicker__month-text--highlighted:not([aria-disabled=true]):hover,
.react-datepicker__quarter-text--highlighted:not([aria-disabled=true]):hover,
.react-datepicker__year-text--highlighted:not([aria-disabled=true]):hover {
  background-color: rgb(49.8551020408, 189.6448979592, 62.5632653061);
}
.react-datepicker__day--highlighted-custom-1,
.react-datepicker__month-text--highlighted-custom-1,
.react-datepicker__quarter-text--highlighted-custom-1,
.react-datepicker__year-text--highlighted-custom-1 {
  color: magenta;
}
.react-datepicker__day--highlighted-custom-2,
.react-datepicker__month-text--highlighted-custom-2,
.react-datepicker__quarter-text--highlighted-custom-2,
.react-datepicker__year-text--highlighted-custom-2 {
  color: green;
}
.react-datepicker__day--holidays,
.react-datepicker__month-text--holidays,
.react-datepicker__quarter-text--holidays,
.react-datepicker__year-text--holidays {
  position: relative;
  border-radius: 0.3rem;
  background-color: #ff6803;
  color: #fff;
}
.react-datepicker__day--holidays .overlay,
.react-datepicker__month-text--holidays .overlay,
.react-datepicker__quarter-text--holidays .overlay,
.react-datepicker__year-text--holidays .overlay {
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  background-color: #333;
  color: #fff;
  padding: 4px;
  border-radius: 4px;
  white-space: nowrap;
  visibility: hidden;
  opacity: 0;
  transition: visibility 0s, opacity 0.3s ease-in-out;
}
.react-datepicker__day--holidays:not([aria-disabled=true]):hover,
.react-datepicker__month-text--holidays:not([aria-disabled=true]):hover,
.react-datepicker__quarter-text--holidays:not([aria-disabled=true]):hover,
.react-datepicker__year-text--holidays:not([aria-disabled=true]):hover {
  background-color: rgb(207, 82.9642857143, 0);
}
.react-datepicker__day--holidays:hover .overlay,
.react-datepicker__month-text--holidays:hover .overlay,
.react-datepicker__quarter-text--holidays:hover .overlay,
.react-datepicker__year-text--holidays:hover .overlay {
  visibility: visible;
  opacity: 1;
}
.react-datepicker__day--selected, .react-datepicker__day--in-selecting-range, .react-datepicker__day--in-range,
.react-datepicker__month-text--selected,
.react-datepicker__month-text--in-selecting-range,
.react-datepicker__month-text--in-range,
.react-datepicker__quarter-text--selected,
.react-datepicker__quarter-text--in-selecting-range,
.react-datepicker__quarter-text--in-range,
.react-datepicker__year-text--selected,
.react-datepicker__year-text--in-selecting-range,
.react-datepicker__year-text--in-range {
  border-radius: 0.3rem;
  background-color: #216ba5;
  color: #fff;
}
.react-datepicker__day--selected:not([aria-disabled=true]):hover, .react-datepicker__day--in-selecting-range:not([aria-disabled=true]):hover, .react-datepicker__day--in-range:not([aria-disabled=true]):hover,
.react-datepicker__month-text--selected:not([aria-disabled=true]):hover,
.react-datepicker__month-text--in-selecting-range:not([aria-disabled=true]):hover,
.react-datepicker__month-text--in-range:not([aria-disabled=true]):hover,
.react-datepicker__quarter-text--selected:not([aria-disabled=true]):hover,
.react-datepicker__quarter-text--in-selecting-range:not([aria-disabled=true]):hover,
.react-datepicker__quarter-text--in-range:not([aria-disabled=true]):hover,
.react-datepicker__year-text--selected:not([aria-disabled=true]):hover,
.react-datepicker__year-text--in-selecting-range:not([aria-disabled=true]):hover,
.react-datepicker__year-text--in-range:not([aria-disabled=true]):hover {
  background-color: rgb(28.75, 93.2196969697, 143.75);
}
.react-datepicker__day--keyboard-selected,
.react-datepicker__month-text--keyboard-selected,
.react-datepicker__quarter-text--keyboard-selected,
.react-datepicker__year-text--keyboard-selected {
  border-radius: 0.3rem;
  background-color: rgb(186.25, 217.0833333333, 241.25);
  color: rgb(0, 0, 0);
}
.react-datepicker__day--keyboard-selected:not([aria-disabled=true]):hover,
.react-datepicker__month-text--keyboard-selected:not([aria-disabled=true]):hover,
.react-datepicker__quarter-text--keyboard-selected:not([aria-disabled=true]):hover,
.react-datepicker__year-text--keyboard-selected:not([aria-disabled=true]):hover {
  background-color: rgb(28.75, 93.2196969697, 143.75);
}
.react-datepicker__day--in-selecting-range:not(.react-datepicker__day--in-range,
.react-datepicker__month-text--in-range,
.react-datepicker__quarter-text--in-range,
.react-datepicker__year-text--in-range),
.react-datepicker__month-text--in-selecting-range:not(.react-datepicker__day--in-range,
.react-datepicker__month-text--in-range,
.react-datepicker__quarter-text--in-range,
.react-datepicker__year-text--in-range),
.react-datepicker__quarter-text--in-selecting-range:not(.react-datepicker__day--in-range,
.react-datepicker__month-text--in-range,
.react-datepicker__quarter-text--in-range,
.react-datepicker__year-text--in-range),
.react-datepicker__year-text--in-selecting-range:not(.react-datepicker__day--in-range,
.react-datepicker__month-text--in-range,
.react-datepicker__quarter-text--in-range,
.react-datepicker__year-text--in-range) {
  background-color: rgba(33, 107, 165, 0.5);
}
.react-datepicker__month--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,
.react-datepicker__month-text--in-selecting-range,
.react-datepicker__quarter-text--in-selecting-range,
.react-datepicker__year-text--in-selecting-range), .react-datepicker__year--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,
.react-datepicker__month-text--in-selecting-range,
.react-datepicker__quarter-text--in-selecting-range,
.react-datepicker__year-text--in-selecting-range),
.react-datepicker__month--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,
.react-datepicker__month-text--in-selecting-range,
.react-datepicker__quarter-text--in-selecting-range,
.react-datepicker__year-text--in-selecting-range),
.react-datepicker__year--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,
.react-datepicker__month-text--in-selecting-range,
.react-datepicker__quarter-text--in-selecting-range,
.react-datepicker__year-text--in-selecting-range),
.react-datepicker__month--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,
.react-datepicker__month-text--in-selecting-range,
.react-datepicker__quarter-text--in-selecting-range,
.react-datepicker__year-text--in-selecting-range),
.react-datepicker__year--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,
.react-datepicker__month-text--in-selecting-range,
.react-datepicker__quarter-text--in-selecting-range,
.react-datepicker__year-text--in-selecting-range),
.react-datepicker__month--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,
.react-datepicker__month-text--in-selecting-range,
.react-datepicker__quarter-text--in-selecting-range,
.react-datepicker__year-text--in-selecting-range),
.react-datepicker__year--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,
.react-datepicker__month-text--in-selecting-range,
.react-datepicker__quarter-text--in-selecting-range,
.react-datepicker__year-text--in-selecting-range) {
  background-color: #f0f0f0;
  color: #000;
}
.react-datepicker__day--disabled,
.react-datepicker__month-text--disabled,
.react-datepicker__quarter-text--disabled,
.react-datepicker__year-text--disabled {
  cursor: default;
  color: #ccc;
}
.react-datepicker__day--disabled .overlay,
.react-datepicker__month-text--disabled .overlay,
.react-datepicker__quarter-text--disabled .overlay,
.react-datepicker__year-text--disabled .overlay {
  position: absolute;
  bottom: 70%;
  left: 50%;
  transform: translateX(-50%);
  background-color: #333;
  color: #fff;
  padding: 4px;
  border-radius: 4px;
  white-space: nowrap;
  visibility: hidden;
  opacity: 0;
  transition: visibility 0s, opacity 0.3s ease-in-out;
}

.react-datepicker__input-container {
  position: relative;
  display: inline-block;
  width: 100%;
}
.react-datepicker__input-container .react-datepicker__calendar-icon {
  position: absolute;
  padding: 0.5rem;
  box-sizing: content-box;
}

.react-datepicker__view-calendar-icon input {
  padding: 6px 10px 5px 25px;
}

.react-datepicker__year-read-view,
.react-datepicker__month-read-view,
.react-datepicker__month-year-read-view {
  border: 1px solid transparent;
  border-radius: 0.3rem;
  position: relative;
}
.react-datepicker__year-read-view:hover,
.react-datepicker__month-read-view:hover,
.react-datepicker__month-year-read-view:hover {
  cursor: pointer;
}
.react-datepicker__year-read-view:hover .react-datepicker__year-read-view--down-arrow,
.react-datepicker__year-read-view:hover .react-datepicker__month-read-view--down-arrow,
.react-datepicker__month-read-view:hover .react-datepicker__year-read-view--down-arrow,
.react-datepicker__month-read-view:hover .react-datepicker__month-read-view--down-arrow,
.react-datepicker__month-year-read-view:hover .react-datepicker__year-read-view--down-arrow,
.react-datepicker__month-year-read-view:hover .react-datepicker__month-read-view--down-arrow {
  border-top-color: rgb(178.5, 178.5, 178.5);
}
.react-datepicker__year-read-view--down-arrow,
.react-datepicker__month-read-view--down-arrow,
.react-datepicker__month-year-read-view--down-arrow {
  transform: rotate(135deg);
  right: -16px;
  top: 0;
}

.react-datepicker__year-dropdown,
.react-datepicker__month-dropdown,
.react-datepicker__month-year-dropdown {
  background-color: #f0f0f0;
  position: absolute;
  width: 50%;
  left: 25%;
  top: 30px;
  z-index: 1;
  text-align: center;
  border-radius: 0.3rem;
  border: 1px solid #aeaeae;
}
.react-datepicker__year-dropdown:hover,
.react-datepicker__month-dropdown:hover,
.react-datepicker__month-year-dropdown:hover {
  cursor: pointer;
}
.react-datepicker__year-dropdown--scrollable,
.react-datepicker__month-dropdown--scrollable,
.react-datepicker__month-year-dropdown--scrollable {
  height: 150px;
  overflow-y: scroll;
}

.react-datepicker__year-option,
.react-datepicker__month-option,
.react-datepicker__month-year-option {
  line-height: 20px;
  width: 100%;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.react-datepicker__year-option:first-of-type,
.react-datepicker__month-option:first-of-type,
.react-datepicker__month-year-option:first-of-type {
  border-top-left-radius: 0.3rem;
  border-top-right-radius: 0.3rem;
}
.react-datepicker__year-option:last-of-type,
.react-datepicker__month-option:last-of-type,
.react-datepicker__month-year-option:last-of-type {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  border-bottom-left-radius: 0.3rem;
  border-bottom-right-radius: 0.3rem;
}
.react-datepicker__year-option:hover,
.react-datepicker__month-option:hover,
.react-datepicker__month-year-option:hover {
  background-color: #ccc;
}
.react-datepicker__year-option:hover .react-datepicker__navigation--years-upcoming,
.react-datepicker__month-option:hover .react-datepicker__navigation--years-upcoming,
.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-upcoming {
  border-bottom-color: rgb(178.5, 178.5, 178.5);
}
.react-datepicker__year-option:hover .react-datepicker__navigation--years-previous,
.react-datepicker__month-option:hover .react-datepicker__navigation--years-previous,
.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-previous {
  border-top-color: rgb(178.5, 178.5, 178.5);
}
.react-datepicker__year-option--selected,
.react-datepicker__month-option--selected,
.react-datepicker__month-year-option--selected {
  position: absolute;
  left: 15px;
}

.react-datepicker__close-icon {
  cursor: pointer;
  background-color: transparent;
  border: 0;
  outline: 0;
  padding: 0 6px 0 0;
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  display: table-cell;
  vertical-align: middle;
}
.react-datepicker__close-icon::after {
  cursor: pointer;
  background-color: #216ba5;
  color: #fff;
  border-radius: 50%;
  height: 16px;
  width: 16px;
  padding: 2px;
  font-size: 12px;
  line-height: 1;
  text-align: center;
  display: table-cell;
  vertical-align: middle;
  content: "×";
}
.react-datepicker__close-icon--disabled {
  cursor: default;
}
.react-datepicker__close-icon--disabled::after {
  cursor: default;
  background-color: #ccc;
}

.react-datepicker__today-button {
  background: #f0f0f0;
  border-top: 1px solid #aeaeae;
  cursor: pointer;
  text-align: center;
  font-weight: bold;
  padding: 5px 0;
  clear: left;
}

.react-datepicker__portal {
  position: fixed;
  width: 100vw;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.8);
  left: 0;
  top: 0;
  justify-content: center;
  align-items: center;
  display: flex;
  z-index: 2147483647;
}
.react-datepicker__portal .react-datepicker__day-name,
.react-datepicker__portal .react-datepicker__day,
.react-datepicker__portal .react-datepicker__time-name {
  width: 3rem;
  line-height: 3rem;
}
@media (max-width: 400px), (max-height: 550px) {
  .react-datepicker__portal .react-datepicker__day-name,
  .react-datepicker__portal .react-datepicker__day,
  .react-datepicker__portal .react-datepicker__time-name {
    width: 2rem;
    line-height: 2rem;
  }
}
.react-datepicker__portal .react-datepicker__current-month,
.react-datepicker__portal .react-datepicker-time__header {
  font-size: 1.44rem;
}

.react-datepicker__children-container {
  width: 13.8rem;
  margin: 0.4rem;
  padding-right: 0.2rem;
  padding-left: 0.2rem;
  height: auto;
}

.react-datepicker__aria-live {
  position: absolute;
  clip-path: circle(0);
  border: 0;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  width: 1px;
  white-space: nowrap;
}

.react-datepicker__calendar-icon {
  width: 1em;
  height: 1em;
  vertical-align: -0.125em;
}

/* --- Color Palette --- */
/* --- Typography --- */
/* --- Borders & Spacing --- */
/* --- Button Styles --- */
/* --- Breakpoints --- */
/* --- Responsive Mixin --- */
/* --- Button Styles --- */
/* --- Button Focus Styles --- */
button,
button[type="button"] {
  /* --- For touch devices fallback --- */
}
button:focus,
button[type="button"]:focus {
  border-radius: 2px;
  outline: 2px dashed #20252B;
  outline-offset: 4px;
}
button:focus:not(:focus-visible),
button[type="button"]:focus:not(:focus-visible) {
  outline: none;
}
@media (hover: none) {
  button:focus,
  button[type="button"]:focus {
    outline: none;
  }
}
[role="button"]:focus {
  border-radius: 2px;
  outline: 2px dashed #20252B;
  outline-offset: 4px;
}
/* --- Input Focus Styles --- */
input[type="checkbox"]:focus,
input[type="number"]:focus,
input[type="search"]:focus,
input[type="button"]:focus,
input[type="reset"]:focus,
input[type="submit"]:focus {
  border-radius: 2px;
  outline: 2px dashed #20252B;
  outline-offset: 4px;
  background: #FFFFFF;
}
input[type="radio"]:focus {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  outline: 2px dashed #20252B;
  outline-offset: 4px;
  background: #FFFFFF;
}
input[inputmode="numeric"]:focus,
input[type="text"]:focus,
input[type="email"]:focus {
  border-radius: 4px;
  outline: 2px solid #6F7072;
  background: #FFFFFF;
}
.rs__control:focus,
.rs__control:focus-within {
  border-radius: 4px !important;
  outline: 2px solid #6F7072 !important;
  background: #FFFFFF;
}
.rs__input[type="text"]:focus {
  border: 0 !important;
}
/* --- Anchor Focus Styles --- */
a:focus {
  border-radius: 4px;
  outline: 2px dashed #20252B;
  outline-offset: 2px;
}
a:focus:not(:focus-visible) {
  outline: none;
}
/* --- Flexbox Helpers --- */
.flex-center {
  display: flex;
  align-items: center;
  justify-content: center;
}
.flex-between {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
/* --- Text Styles --- */
.text-uppercase {
  text-transform: uppercase;
}
.text-bold {
  font-weight: 700;
}
.text-light {
  font-weight: 200;
}
/* --- Input Styles --- */
.input-field {
  width: 230px;
  border-radius: 4px;
  border: 1px solid #6F7072;
  background: #FFFFFF;
  padding: 16px;
}
/* --- Error Messages --- */
.error-message {
  color: #C21B17;
  font-size: 14px;
  padding: 0 8px;
  margin-top: 4px;
  line-height: 16px;
  background: none;
}
/* --- Summary Accordion --- */
.accordion-title {
  font-size: 24px;
  font-weight: 200;
  line-height: 32px;
  padding: 40px 0 0;
}
/*
.input__container {
  width: 46%;
  margin-bottom: 10px;
  display: flex;
  flex-direction: row;

  .responsive(450px, {
    width: 100%;
  });

  input {
    width: 230px;
    border-radius: @border-radius;
    border: 1px solid @gray;
    background: @white;
    padding: 16px;

    .responsive(450px, {
      width: 292px;
      margin-bottom: 0;
    });

    &.input__zip {
      width: 100px;
    }
  }
}*/
/* --- Buttons --- */
.btn__panel {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  padding-top: 10px;
}
.btn__panel__prev-next {
  display: flex;
  justify-content: space-between;
  width: 343px;
}
.btn__panel__prev-next .btn {
  background-color: #FFFFFF;
  color: #C21B17;
  font-size: 16px;
  font-weight: 700;
  text-transform: uppercase;
  padding: 16px 40px;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #C21B17;
}
.btn__panel__prev-next .btn:hover {
  border: 1px solid #82120F;
  color: #82120F;
}
.btn__panel__prev-next .btn:disabled {
  background-color: #6F7072;
  border-color: #6F7072;
  color: #FFFFFF;
  cursor: not-allowed;
}
.btn__panel__prev-next .btn__next {
  background-color: #C21B17;
  color: #FFFFFF;
  font-size: 16px;
  font-weight: 700;
  text-transform: uppercase;
  padding: 16px 40px;
  border-radius: 4px;
  border: 1px solid #FFFFFF;
  display: flex;
  align-items: center;
  justify-content: center;
}
.btn__panel__prev-next .btn__next:hover {
  border: 1px solid #82120F;
  color: #82120F;
}
.btn__panel__prev-next .btn__next:disabled {
  background-color: #6F7072;
  border-color: #6F7072;
  color: #FFFFFF;
  cursor: not-allowed;
}
/* --- Error Messages --- */
.error__message {
  color: #C21B17;
  font-size: 14px;
  padding: 0 8px;
  margin-top: 4px;
  line-height: 16px;
  background: none;
  text-align: left;
  font-family: 'Roboto', "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.error__message.box {
  margin-top: 20px;
  padding: 20px;
  border: 1px solid rgba(142, 18, 48, 0.075);
  border-radius: 4px;
  background: rgba(142, 18, 48, 0.05);
}
/* --- Select Dropdown (React-Select) --- */
.select__container {
  width: 264px;
}
@media screen and (max-width: 450px) {
  .select__container {
    width: 370px;
  }
}
.select__container .select__control {
  width: 100%;
  min-height: 50px;
  color: #6F7072;
  border-color: #cccccc;
  font-family: 'Roboto', "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 14px;
  border-radius: 8px;
  margin-bottom: 16px;
}
@media screen and (max-width: 450px) {
  .select__container .select__control {
    width: 85%;
  }
}
.select__container .select__control .select-placeholder {
  text-align: left;
  margin-left: 5px;
}
.select__container .select__option {
  font-size: 16px;
  padding: 10px 0;
  background-color: #FFFFFF;
  color: #6F7072;
  font-family: 'Roboto', "Helvetica Neue", Helvetica, Arial, sans-serif;
  border-bottom: 1px solid #EBEBEB;
}
/* --- Component Imports --- */
.summary {
  width: 40%;
  position: relative;
  /* Skip link */
}
@media screen and (max-width: 450px) {
  .summary {
    width: 100%;
    position: relative;
    background-color: #FFFFFF;
    z-index: 2;
  }
}
.summary__skip-link {
  position: absolute;
  left: 12px;
  top: 12px;
  transition: transform 0.15s ease, opacity 0.15s ease;
  /* hidden until focused */
  transform: translateY(-120%);
  opacity: 0;
  padding: 10px 12px;
  border-radius: 8px;
  background: #FFFFFF;
  color: #C21B17;
  border: 2px solid #C21B17;
  text-decoration: none;
  z-index: 9999;
}
.summary__skip-link:focus,
.summary__skip-link:focus-visible {
  transform: translateY(0);
  opacity: 1;
  outline: 2px solid #C21B17;
  outline-offset: 2px;
}
.summary__icon--expanded {
  transform: rotate(180deg);
  transition: transform 0.3s ease;
}
.summary__container {
  font-family: 'Roboto', "Helvetica Neue", Helvetica, Arial, sans-serif;
  text-align: left;
  width: 343px;
}
@media screen and (max-width: 450px) {
  .summary__container {
    width: 92%;
    padding: 4%;
    margin-bottom: 100px;
    background-color: #EBEBEB;
    border-radius: 8px;
  }
}
.summary__container__subtitle-content {
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  letter-spacing: 0.25px;
  color: #6F7072;
}
.summary__title {
  font-size: 56px;
  font-weight: 300;
  line-height: 72px;
}
.summary h1 {
  font-size: 56px;
  font-weight: 300;
  line-height: 72px;
  text-align: left;
  margin-bottom: 0;
  padding-bottom: 0;
}
.summary h2 {
  font-size: 24px;
  font-weight: 300;
  line-height: 32px;
  margin-bottom: 0;
}
.summary h4 {
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  letter-spacing: 0.25px;
}
.summary__disclaimer__text {
  background-color: rgba(114, 205, 185, 0.2);
  border-radius: 4px;
  padding: 1rem;
  margin: 1rem 0;
  text-align: left;
}
.summary__disclaimer__text span {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  font-size: 16px;
  font-family: 'Roboto', "Helvetica Neue", Helvetica, Arial, sans-serif;
  color: #20252B;
  line-height: 1.4;
}
.summary__disclaimer__text span .summary__disclaimer__text__icon {
  width: 32px;
  height: 32px;
  flex-shrink: 0;
  margin-top: 2px;
}
.summary__section_titles {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.summary__section_titles h2 {
  font-size: 24px;
  font-weight: 300;
  line-height: 32px;
}
.summary__section_titles .btn {
  max-height: 30px;
  background-color: transparent;
  border: none;
}
.summary__detail {
  color: #6F7072;
}
.summary__detail .summary__accordion {
  display: flex !important;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
  min-width: 0;
  padding-top: 10px;
  color: #20252B;
  font-size: 16px;
  font-weight: 300;
  box-sizing: border-box;
}
.summary__detail span {
  font-weight: 700;
}
.summary__detail span:first-of-type {
  text-transform: uppercase;
  color: #6F7072;
  font-size: 14px;
  line-height: 16px;
  letter-spacing: 1px;
  flex: 0 0 160px;
  min-width: 160px;
  max-width: 160px;
  vertical-align: top;
}
@media screen and (max-width: 450px) {
  .summary__detail span:first-of-type {
    flex: 0 0 140px;
    min-width: 140px;
    max-width: 140px;
  }
}
.summary__detail .summary__value,
.summary__detail .summary__traveler__list {
  flex: 1 1 auto;
  min-width: 0;
  text-align: right;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.summary__detail .summary__traveler__list {
  display: flex;
  flex-direction: column;
}
.summary__detail .traveler__name_age {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  min-width: 0;
  flex-wrap: wrap;
}
.summary__detail .traveler__name {
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.summary__detail .summary__accordion--traveler {
  padding-top: 10px;
}
/* FIXED BUTTON STYLES */
.summary__btns {
  display: flex;
  justify-content: space-between;
  margin-top: 20px;
}
.summary__btn {
  all: unset;
  display: flex;
  align-items: center;
  text-transform: uppercase;
  padding: 0;
  color: #C21B17;
  font-size: 16px;
  font-weight: 700;
  justify-content: center;
  cursor: pointer;
}
.summary__btn img {
  width: 24px;
  height: 24px;
  margin-right: 12px;
}
.travelers {
  min-height: 210px;
  overflow-y: auto;
}
@media screen and (max-width: 450px) {
  .travelers {
    overflow-y: unset;
  }
}
.travelers__list {
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: 100%;
}
.travelers__info {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.travelers__info .section__head {
  font-size: 20px;
  font-family: 'Roboto', "Helvetica Neue", Helvetica, Arial, sans-serif;
  line-height: 1.5;
  font-weight: 300;
  text-align: left;
  color: #20252B;
}
.travelers__info__label-wrapper {
  display: flex;
  justify-content: space-between;
  width: 100%;
}
.travelers__info__label-wrapper label {
  font-size: 20px;
  font-weight: 300;
  line-height: 28px;
  font-family: 'Roboto', "Helvetica Neue", Helvetica, Arial, sans-serif;
  color: #20252B;
}
.travelers__info__label-wrapper label span {
  color: #6F7072;
  font-size: 14px;
  font-weight: 700;
  margin-right: 10px;
}
.travelers__inputs {
  display: flex;
  justify-content: space-between;
  width: 100%;
  padding-bottom: 10px;
  flex-wrap: wrap;
}
@media screen and (max-width: 450px) {
  .travelers__inputs {
    display: grid;
    padding-bottom: 0;
  }
}
.travelers__inputs .select__wrapper {
  position: relative;
  margin-bottom: 16px;
}
.travelers__inputs .select__wrapper label {
  position: absolute;
  top: 18px;
  left: 16px;
  font-size: 16px;
  font-family: 'Roboto', "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 300;
  color: #20252B;
  pointer-events: none;
  transition: all 0.3s ease;
  z-index: 1;
}
.travelers__inputs .select__wrapper.filled label {
  top: 8px;
  font-size: 12px;
  color: #6F7072;
  text-transform: uppercase;
  font-weight: 700;
}
.travelers__inputs .select__wrapper .beneficiary__select .beneficiary-rs__control {
  width: 264px;
  min-height: 54px;
  border-radius: 4px;
  margin-bottom: 16px;
  border: 1px solid #CCCCCC;
  box-shadow: none;
  background: #FFFFFF;
}
@media screen and (max-width: 450px) {
  .travelers__inputs .select__wrapper .beneficiary__select .beneficiary-rs__control {
    width: 123%;
  }
}
.travelers__inputs .select__wrapper .beneficiary__select .beneficiary-rs__control:hover {
  border: 2px solid #B0B2B3;
}
.travelers__inputs .select__wrapper .beneficiary__select .beneficiary-rs__control--is-focused {
  border: 2px solid #B0B2B3;
  box-shadow: none;
}
.travelers__inputs .select__wrapper .beneficiary__select .beneficiary-rs__value-container {
  padding: 18px 16px 6px !important;
  text-align: left;
}
.travelers__inputs .select__wrapper .beneficiary__select .beneficiary-rs__single-value {
  margin: 0 !important;
  color: #20252B !important;
  font-family: 'Roboto', "Helvetica Neue", Helvetica, Arial, sans-serif !important;
  font-size: 16px !important;
  font-style: normal;
  font-weight: 300 !important;
  line-height: 24px !important;
  font-feature-settings: "liga" off, "clig" off;
}
.travelers__inputs .select__wrapper .beneficiary__select .beneficiary-rs__placeholder {
  color: transparent;
}
.travelers__inputs .select__wrapper .beneficiary__select .beneficiary-rs__indicator-separator {
  display: none;
}
.travelers__inputs .select__wrapper .beneficiary__select .beneficiary-rs__menu {
  margin-top: 0;
  border: 1px solid #CCCCCC;
  box-shadow: none;
  border-radius: 4px;
  overflow: hidden;
}
.travelers__inputs .select__wrapper .beneficiary__select .beneficiary-rs__menu-list {
  padding: 0;
}
.travelers__inputs .select__wrapper .beneficiary__select .beneficiary-rs__option {
  color: #20252B;
  font-family: 'Roboto', "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 300;
  line-height: 24px;
  font-feature-settings: "liga" off, "clig" off;
  letter-spacing: 0.25px;
  padding: 10px 20px;
  background-color: #FFFFFF;
  border-bottom: 1px solid #EBEBEB;
  text-align: left;
  cursor: pointer;
}
.travelers__inputs .select__wrapper .beneficiary__select .beneficiary-rs__option--is-focused,
.travelers__inputs .select__wrapper .beneficiary__select .beneficiary-rs__option--is-selected {
  background-color: #EBEBEB;
  color: #20252B;
}
.travelers__inputs .input__container {
  width: 46%;
  margin-bottom: 10px;
  position: relative;
}
@media screen and (max-width: 450px) {
  .travelers__inputs .input__container {
    width: 100%;
  }
}
.travelers__inputs .input__container label {
  position: absolute;
  font-size: 16px;
  font-family: 'Roboto', "Helvetica Neue", Helvetica, Arial, sans-serif;
  top: 18px;
  left: 18px;
  transition: all 0.3s ease-in-out;
  font-weight: 300;
  color: #20252B;
}
.travelers__inputs .input__container input {
  width: 230px;
  border-radius: 4px;
  border: 1px solid #cccccc;
  background: #FFFFFF;
  font-family: 'Roboto', "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 300;
  font-size: 16px;
  padding: 26px 16px 10px 16px;
}
.travelers__inputs .input__container input:focus {
  outline-color: #B0B2B3;
  border: 2px solid #B0B2B3;
}
@media screen and (max-width: 450px) {
  .travelers__inputs .input__container input {
    width: 292px;
    margin-bottom: 0;
  }
}
.travelers__inputs .input__container input:-webkit-autofill {
  box-shadow: 0 0 0 1000px #FFFFFF inset !important;
  -webkit-box-shadow: 0 0 0 1000px #FFFFFF inset !important;
  -webkit-text-fill-color: #20252B !important;
  font-family: 'Roboto', "Helvetica Neue", Helvetica, Arial, sans-serif !important;
  transition: background-color 5000s ease-in-out 0s;
}
.travelers__inputs .input__container input:focus + label,
.travelers__inputs .input__container input.filled + label {
  position: absolute;
  color: #6F7072;
  font-size: 12px;
  text-transform: uppercase;
  top: 8px;
  font-weight: 700;
}
.travelers__inputs .input__container .state-zip-container {
  flex-direction: row;
  align-items: center;
  display: flex;
  justify-content: space-between;
  width: 100%;
}
.travelers__inputs .input__container .state-zip-container .state-container {
  width: 50%;
  display: flex;
  border: none;
  font-family: 'Roboto', "Helvetica Neue", Helvetica, Arial, sans-serif;
  margin-left: 5px;
  flex-wrap: wrap;
  flex-direction: row;
}
.travelers__inputs .input__container .state-zip-container .state-container img {
  width: 32px;
  height: 32px;
  margin-bottom: 30px;
  align-items: center;
}
.travelers__inputs .input__container .state-zip-container .state-container .state-content {
  display: flex;
  flex-direction: column;
  width: 40%;
}
.travelers__inputs .input__container .state-zip-container .state-container .state-label {
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  color: #6F7072;
  width: 60px;
  position: absolute;
  left: 5px;
  top: 0;
  text-align: left;
}
.travelers__inputs .input__container .state-zip-container .state-container .state-text {
  font-size: 16px;
  color: #6F7072;
  font-weight: 200;
  position: absolute;
  top: 25px;
}
.travelers__inputs .input__container .state-zip-container .zip-container {
  width: 50%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
}
.travelers__inputs .input__container .state-zip-container .zip-container input.input__zip {
  width: 72%;
  padding: 26px 16px 12px 16px;
  border-radius: 4px;
  border: 1px solid #CCCCCC;
  background: #FFFFFF;
  min-height: 14px;
}
.travelers__inputs .input__container .state-zip-container .zip-container input.input__zip:focus {
  outline-color: #B0B2B3;
  border: 2px solid #B0B2B3;
}
@media screen and (max-width: 450px) {
  .travelers__inputs .input__container .state-zip-container .zip-container input.input__zip {
    width: 78%;
  }
}
.travelers__inputs .input__container .state-zip-container .zip-container label {
  position: relative;
  top: -40px;
}
.travelers__inputs .input__container .state-zip-container .zip-container input:focus + label,
.travelers__inputs .input__container .state-zip-container .zip-container input.filled + label {
  position: relative;
  font-size: 12px;
  text-transform: uppercase;
  top: -52px;
  font-weight: 700;
}
.travelers__radio__inputs {
  width: 100%;
  padding-top: 10px;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 24px;
}
.travelers__radio__inputs .radio__buttons {
  display: flex;
  justify-content: flex-start;
  gap: 40px;
  align-items: center;
}
@media screen and (max-width: 450px) {
  .travelers__radio__inputs .radio__buttons {
    width: 80%;
  }
}
.travelers__radio__inputs .radio__buttons label {
  display: flex;
  align-items: center;
  font-size: 16px;
  font-weight: 700;
  color: #6F7072;
  cursor: pointer;
  font-family: 'Roboto', "Helvetica Neue", Helvetica, Arial, sans-serif;
  gap: 8px;
  white-space: nowrap;
}
.travelers__radio__inputs .radio__buttons input[type="radio"] {
  width: 16px;
  height: 16px;
  margin: 0;
  accent-color: #C21B17;
}
.beneficiary__title-row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
}
.beneficiary__title-row .payment__panel__container__title {
  margin: 0;
}
@media screen and (max-width: 450px) {
  .beneficiary__title-row {
    gap: 6px;
    align-items: flex-start;
  }
}
.beneficiary__optional-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 4px 16px;
  gap: 4px;
  min-height: 20px;
  border-radius: 16px;
  border: 1px solid #64AF73;
  background: #f4f8e8;
  color: #20252B;
  font-family: 'Roboto', "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-style: normal;
  font-size: 12px;
  font-weight: 700;
  line-height: 16px;
  letter-spacing: 1px;
  text-transform: uppercase;
  white-space: nowrap;
}
.beneficiary__divider {
  width: 100%;
  align-self: stretch;
  margin: 0 0 24px 0;
}
.beneficiary__divider svg {
  display: block;
  width: 100%;
  height: 1px;
}
.beneficiary__divider--between {
  margin: 8px 0 24px 0;
}
.beneficiary__add {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0;
  margin: 0;
  background: transparent;
  border: 0;
  color: #C21B17;
  font-family: 'Roboto', "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: 20px;
  letter-spacing: 1px;
  text-transform: uppercase;
  cursor: pointer;
}
.beneficiary__add .beneficiary__add-icon,
.beneficiary__add .beneficiary__add-text {
  color: #C21B17;
}
.beneficiary__add:hover {
  color: #82120F;
}
.beneficiary__add:hover .beneficiary__add-icon,
.beneficiary__add:hover .beneficiary__add-text {
  color: #82120F;
}
.beneficiary__add:focus-visible {
  outline: 2px solid #B0B2B3;
  outline-offset: 4px;
  border-radius: 4px;
}
.beneficiary__add-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  flex-shrink: 0;
  color: #C21B17;
}
.beneficiary__add-icon svg {
  display: block;
  width: 24px;
  height: 24px;
}
.beneficiary__add-text {
  display: inline-block;
  color: #C21B17;
}
.beneficiary__relationship-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  width: 100%;
  gap: 16px;
}
@media screen and (max-width: 450px) {
  .beneficiary__relationship-row {
    display: grid;
    gap: 12px;
  }
}
.beneficiary__relationship-row .select__wrapper {
  margin-bottom: 0;
}
.beneficiary__remove {
  padding: 0;
  margin: 0 0 16px 0;
  background: transparent;
  border: 0;
  color: #20252B;
  font-family: 'Roboto', "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: 24px;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 2px;
  white-space: nowrap;
}
.beneficiary__remove:hover {
  color: #20252B;
}
.beneficiary__remove:focus-visible {
  outline: 2px solid #B0B2B3;
  outline-offset: 4px;
  border-radius: 4px;
}
body.confirmation-body {
  background: #FFFFFF;
}
.confirmation__header-wrap {
  max-width: 1140px;
  margin: 32px auto 8px;
  padding: 0 24px;
}
@media screen and (max-width: 450px) {
  .confirmation__header-wrap {
    margin: 20px auto 8px;
    padding: 0 20px;
  }
}
.confirmation__page-title {
  font-size: 56px;
  font-weight: 400;
  line-height: 1.5;
  color: #20252B;
  margin: 0 0 8px;
  text-align: left;
}
.confirmation__section-title {
  color: #20252B;
  margin: 0 0 24px;
  padding: 0;
}
.confirmation {
  background-color: #FFFFFF;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}
@media screen and (max-width: 450px) {
  .confirmation {
    z-index: 2;
  }
}
.confirmation #root {
  max-width: 100%;
  padding: 0;
}
.confirmation__icon--expanded {
  transform: rotate(180deg);
  transition: transform 0.3s ease;
}
.confirmation__page-title {
  font-size: 56px;
  font-weight: 400;
  line-height: 1.5;
  color: #20252B;
  margin: 40px 0 8px;
  padding: 0;
}
@media screen and (max-width: 450px) {
  .confirmation__page-title {
    margin: 20px 20px 8px;
  }
}
.confirmation__section-title {
  color: #20252B;
  margin: 0 0 24px;
  padding: 0;
}
@media screen and (max-width: 450px) {
  .confirmation__section-title {
    padding: 20px;
    margin: 0;
  }
}
.confirmation__container {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 48px;
  max-width: 1140px;
  margin: 0 auto 60px;
  padding: 0 24px;
}
@media screen and (max-width: 450px) {
  .confirmation__container {
    flex-direction: column;
    padding: 0 20px 40px;
    gap: 0;
    max-width: 100%;
  }
}
.confirmation__plandetails {
  font-family: 'Roboto', "Helvetica Neue", Helvetica, Arial, sans-serif;
  text-align: left;
  flex: 0 0 360px;
  width: 360px;
  background-color: #F6F6F6;
  padding: 30px;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
  border: 1px solid rgba(32, 37, 43, 0.08);
}
@media screen and (max-width: 450px) {
  .confirmation__plandetails {
    width: 92%;
    padding: 4%;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
    border: 1px solid rgba(32, 37, 43, 0.08);
  }
}
.confirmation__content {
  flex: 1;
  min-width: 420px;
  width: 750px;
  max-width: 100%;
  font-family: 'Roboto', "Helvetica Neue", Helvetica, Arial, sans-serif;
  text-align: left;
}
.confirmation__content p {
  margin-top: 0;
}
.confirmation__content__heading {
  display: flex;
}
.confirmation__content__icon {
  display: flex;
  padding-right: 30px;
}
.confirmation__content__btn {
  margin-top: 30px;
  color: #FFFFFF;
  background-color: #C21B17;
  font-size: 16px;
  text-transform: uppercase;
  padding: 20px 30px;
  border: 1px solid #C21B17;
  border-radius: 4px;
}
.confirmation__content__btn:hover {
  background-color: #82120F;
  color: #FFFFFF;
  border-color: #82120F;
}
@media screen and (max-width: 450px) {
  .confirmation__content {
    width: 100%;
  }
}
.confirmation__title {
  font-size: 56px;
  font-weight: 300;
  line-height: 72px;
}
.confirmation h1 {
  font-size: 56px;
  font-weight: 300;
  line-height: 1.5;
  padding-bottom: 40px;
}
.confirmation h2 {
  font-size: 40px;
  font-weight: 200;
  font-family: 'Roboto', "Helvetica Neue", Helvetica, Arial, sans-serif;
  line-height: 52px;
  padding-bottom: 10px;
  text-align: left;
  color: #20252B;
}
.confirmation h3 {
  font-size: 32px;
  font-weight: 200;
  line-height: 1.5;
  letter-spacing: 0.25px;
  color: #20252B;
}
.confirmation h4 {
  font-size: 24px;
  font-weight: 200;
  line-height: 1.5;
  letter-spacing: 0.25px;
  color: #20252B;
}
.confirmation p {
  font-size: 20px;
  line-height: 1.5;
  font-weight: 200;
  color: #20252B;
}
.confirmation__disclaimer__text {
  background-color: rgba(114, 205, 185, 0.2);
  border-radius: 4px;
  padding: 1rem;
  margin: 1rem 0;
  text-align: left;
}
.confirmation__disclaimer__text span {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  font-size: 16px;
  font-family: 'Roboto', "Helvetica Neue", Helvetica, Arial, sans-serif;
  color: #20252B;
  line-height: 1.4;
}
.confirmation__disclaimer__text span .summary__disclaimer__text__icon {
  width: 32px;
  height: 32px;
  flex-shrink: 0;
  margin-top: 2px;
}
.confirmation .content-link {
  all: unset;
  display: flex;
  align-items: center;
  text-transform: uppercase;
  padding: 0;
  color: #C21B17;
  font-size: 16px;
  font-weight: 700;
  justify-content: left;
  cursor: pointer;
}
.confirmation .content-link:hover {
  color: #82120F;
  text-decoration: underline;
}
.confirmation__disclaimer__text p {
  font-size: 14px;
  line-height: 1.5;
  font-weight: 400;
  color: #6F7072;
}
.confirmation__divider-line {
  margin: 0;
}
.confirmation__divider-line svg {
  width: 100%;
  height: 2px;
  stroke: #6F7072;
}
.confirmation__section_titles {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.confirmation__section_titles h2 {
  font-size: 24px;
  font-weight: 300;
  line-height: 32px;
  color: #20252B;
  padding: 0;
  margin: 0;
}
.confirmation__section_titles .btn {
  max-height: 30px;
  background-color: transparent;
  border: none;
}
.confirmation__detail {
  color: #6F7072;
}
.confirmation__detail .confirmation__accordion {
  display: flex !important;
  justify-content: space-between;
  width: 100%;
  padding-top: 20px;
  color: #20252B;
  font-size: 16px;
  font-weight: 300;
  text-align: right;
}
.confirmation__detail span {
  font-weight: 700;
}
.confirmation__detail span:first-of-type {
  text-transform: uppercase;
  font-weight: 700;
  color: #6F7072;
  font-size: 14px;
  line-height: 16px;
  letter-spacing: 1px;
  margin-bottom: 8px;
  min-width: 150px;
  max-width: 150px;
  text-align: left;
}
.confirmation__detail .confirmation__travelers__list {
  display: flex;
  text-align: right;
  flex-direction: column;
  width: 100%;
}
.confirmation__detail .confirmation__travelers__list .traveler__name_age {
  display: flex;
  gap: 10px;
  justify-content: space-between;
}
.confirmation__detail .confirmation__travelers__list .traveler__name {
  text-transform: uppercase;
}
/* --- BUTTONS --- */
.confirmation__btns {
  display: flex;
  justify-content: space-between;
  margin: 20px 0;
}
.confirmation__btn {
  all: unset;
  display: flex;
  align-items: center;
  text-transform: uppercase;
  padding: 0;
  color: #C21B17;
  font-size: 16px;
  font-weight: 700;
  justify-content: center;
}
.confirmation__btn img {
  width: 24px;
  height: 24px;
  margin-right: 12px;
}
@media print {
  body * {
    visibility: hidden;
  }
  .confirmation,
  .confirmation * {
    visibility: visible;
  }
  .confirmation {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
  }
  .confirmation__btn,
  .confirmation__content__btn {
    display: none;
  }
}
/* === Desktop Adjustments === */
/* Titles row should mirror the content gap */
.confirmation__titles {
  gap: 147px;
}
/* Columns gap */
.confirmation__container {
  gap: 147px;
}
/* Round the Plan Details card more */
.confirmation__plandetails {
  border-radius: 24px;
}
/* Space between the two right-side sections */
.confirmation__content > div + div {
  margin-top: 48px;
}
/* Ensure the Success! heading aligns to the right column start */
.confirmation__titles-left {
  flex: 0 0 360px;
}
/* keep equal to the card width */
.confirmation__titles-right {
  flex: 1 1 0;
}
/* === Titles row: lock to two columns so it can't stack === */
.confirmation__titles {
  display: grid;
  grid-template-columns: 425px 1fr;
  /* left card width, right column */
  column-gap: 147px;
  /* Figma gap */
  align-items: baseline;
  max-width: 1140px;
  margin: 0 auto 8px;
}
/* Make the content row match the same measurements */
.confirmation__container {
  gap: 147px;
}
.confirmation__content {
  max-width: 732px;
}
/* from Figma */
.confirmation__content > div + div {
  margin-top: 48px;
}
/* between the two paragraphs */
/* Round the Plan Details card corners */
.confirmation__plandetails {
  border-radius: 32px;
}
/* Keep titles hidden on mobile */
@media screen and (max-width: 450px) {
  .confirmation__titles {
    display: none;
  }
}
/* ==== MOBILE ONLY ==== */
@media screen and (max-width: 450px) {
  /* hide Plan Details heading */
  .confirmation__section-title,
  .confirmation__main-title {
    display: none !important;
  }
  /* order: protected → card → need more plans */
  .confirmation__container {
    flex-direction: column;
    gap: 16px;
    padding: 0 20px 40px;
  }
  .confirmation__content {
    display: contents;
  }
  .confirmation__content > :first-child {
    order: 1;
    width: 100%;
  }
  /* This trip is now protected */
  .confirmation__plandetails {
    order: 2;
    width: 100%;
  }
  /* Plan details card */
  .confirmation__content > :last-child {
    order: 3;
    width: 100%;
  }
  /* Need more coverage plans */
}
/* === Confirmation: Mobile polish === */
@media screen and (max-width: 450px) {
  /* 1) Stop full-bleed behavior on mobile */
  .confirmation {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
    overflow-x: hidden;
  }
  /* 2) Title to match mock: 28 / 300 / centered */
  .confirmation__page-title,
  .confirmation__title,
  .confirmation h1 {
    font-size: 28px;
    line-height: 36px;
    font-weight: 300;
    text-align: center;
    margin: 12px 0 8px;
    padding-bottom: 0;
    max-width: 100%;
  }
  /* 3) h3 headings: 24 / 300 */
  .confirmation h3 {
    font-size: 24px;
    font-weight: 300;
    line-height: 32px;
  }
  /* h4 headings: 20 / 300 */
  .confirmation h4 {
    font-size: 20px;
    font-weight: 300;
    line-height: 32px;
  }
  /* 4) Right column should not force width on mobile */
  .confirmation__content {
    min-width: 0;
    /* override the 420px min */
    width: 100%;
  }
  /* 5) Plan details card: fit and smaller radius */
  .confirmation__plandetails {
    width: 100%;
    padding: 20px;
    border-radius: 12px;
    margin: 16px 0 24px;
    box-sizing: border-box;
    /* prevent overflow */
  }
}
/* Policy line: heavier than section headers */
.confirmation__plandetails .policy-number {
  font-weight: 500;
  /* request: 500 */
  /* inherits size (24px) from section-title styles unless you want to set it explicitly */
}
/* Mobile polish */
@media screen and (max-width: 450px) {
  /* Stop horizontal pan on small screens */
  .confirmation {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
    overflow-x: hidden;
  }
  /* h3 on mobile = 24 / 300 (mock) */
  .confirmation h3 {
    font-size: 24px;
    font-weight: 300;
    line-height: 32px;
  }
  /* Right column must not force width */
  .confirmation__content {
    min-width: 0;
    /* overrides desktop min-width:420px */
    width: 100%;
  }
  /* Plan details card must fit viewport */
  .confirmation__container {
    padding: 0 16px 40px;
  }
  /* safe gutter */
  .confirmation__plandetails {
    width: 100%;
    padding: 20px;
    box-sizing: border-box;
    /* padding won’t push past viewport */
    border-radius: 12px;
    /* less rounded on mobile */
    margin: 16px 0 24px;
  }
  /* default section headings inside the card */
  .confirmation__plandetails .confirmation__section_titles h2 {
    font-weight: 300;
  }
  /* only the policy line is bold(er) */
  .confirmation__plandetails h2.policy-number {
    font-weight: 500 !important;
  }
}
/* --- Global Styles --- */
body {
  margin: 0;
  background-color: #EBEBEB;
  color: #6F7072;
  height: 100%;
  overflow-y: scroll;
}
@media screen and (max-width: 450px) {
  body {
    background-color: #FFFFFF;
  }
}
input:-webkit-autofill {
  box-shadow: 0 0 0 1000px #FFFFFF inset !important;
  -webkit-box-shadow: 0 0 0 1000px #FFFFFF inset !important;
  -webkit-text-fill-color: #20252B !important;
  transition: background-color 5000s ease-in-out 0s;
}
#root {
  margin: 0 auto;
  padding: 2rem;
  text-align: center;
}
@media screen and (max-width: 450px) {
  #root {
    padding: 1rem;
  }
}
body:not(.confirmation-body) #root {
  max-width: 1280px;
}
/* --- Typography --- */
h1 {
  color: #20252B !important;
  font-size: 32px;
  font-weight: 300;
  line-height: 40px;
  font-family: 'Roboto', "Helvetica Neue", Helvetica, Arial, sans-serif;
  text-align: left;
  margin-bottom: 8px;
}
@media screen and (max-width: 450px) {
  h1 {
    font-size: 28px;
    line-height: 32px;
  }
}
h2 {
  font-size: 24px;
  font-weight: 300 !important;
  text-align: left;
  color: #6F7072;
  margin-bottom: 16px;
}
h2,
h4,
label,
.section__head,
span,
p {
  color: #20252B;
}
input {
  color: #20252B;
}
/* --- Payment Flow Layout --- */
.payment__flow {
  display: flex;
  flex-direction: row;
}
@media screen and (max-width: 450px) {
  .payment__flow {
    flex-direction: column-reverse;
  }
}
/* --- Payment Content --- */
.payment__content {
  width: 60%;
}
@media screen and (max-width: 450px) {
  .payment__content {
    width: 100%;
    position: relative;
    z-index: 1;
  }
}
/* --- Payment Panel --- */
.payment__panel {
  width: 829px;
  height: auto;
  max-height: 95%;
  overflow-y: visible;
  position: relative;
  right: 0;
  background-color: #FFFFFF;
  border-radius: 32px 0px 0px 32px;
  margin-top: 50px;
}
@media screen and (max-width: 450px) {
  .payment__panel {
    width: 100%;
    border-radius: 0;
    height: auto;
    position: relative;
    overflow-y: unset;
  }
}
.payment__panel__container {
  padding: 64px 156px 40px 95px;
  width: 578px;
}
@media screen and (max-width: 450px) {
  .payment__panel__container {
    padding: 30px 0 50px 0;
    width: 325px;
    margin: 0 auto;
  }
}
.payment__panel__container__title {
  font-family: 'Roboto', "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 32px;
  font-weight: 300;
  line-height: 1.5;
  text-align: left;
  padding-bottom: 0;
  color: #20252B;
  margin: 0;
}
.payment__panel__container__title p {
  margin: 0;
}
.payment__panel__container h3 {
  font-family: 'Roboto', "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 32px;
  font-weight: 300;
  line-height: 1.5;
  text-align: left;
  padding-bottom: 0;
  color: #20252B;
  margin: 0;
}
.payment__panel__container h2 {
  font-family: 'Roboto', "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 20px;
  font-weight: 300;
  line-height: 1.5;
  text-align: left;
  padding-bottom: 0;
  color: #20252B;
}
.payment__panel__container #cc-card-div {
  max-height: 60px;
}
@media screen and (max-width: 450px) {
  .payment__panel__container #cc-card-div {
    width: 354px;
  }
}
/* --- Credit Card Details Section --- */
.cc__details__group {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding-bottom: 24px;
}
@media screen and (max-width: 450px) {
  .cc__details__group {
    flex-direction: column;
    align-items: flex-start;
    padding-bottom: 0;
  }
}
.cc__details__group--mod-2 {
  display: flex;
  flex-direction: column;
  height: 70px;
  width: 80%;
  max-width: 400px;
  /* Increased input width */
  position: relative;
  font-family: 'Roboto', "Helvetica Neue", Helvetica, Arial, sans-serif;
}
@media screen and (max-width: 450px) {
  .cc__details__group--mod-2 {
    width: 292px;
    margin-bottom: 18px;
  }
}
.cc__details__group__input {
  width: 100%;
  padding: 20px 16px 6px;
  border: 1px solid #CCCCCC;
  border-radius: 4px;
  font-size: 18px;
  background: #FFFFFF;
  transition: all 0.2s ease-in-out;
  min-height: 28px;
}
.cc__details__group__input:focus {
  outline-color: #B0B2B3;
  border-color: #B0B2B3;
}
.cc__details__group__input:focus-visible {
  outline-color: #B0B2B3;
  border-color: #B0B2B3;
}
.cc__details__group__input:focus + .cc__details__group__label,
.cc__details__group__input.filled + .cc__details__group__label {
  top: 12px;
  font-size: 12px;
  color: #6F7072;
  font-weight: 700;
  text-transform: uppercase;
  font-family: 'Roboto', "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.cc__details__group__label {
  position: absolute;
  left: 16px;
  top: 30px;
  transform: translateY(-50%);
  font-size: 16px;
  font-weight: 300;
  font-family: 'Roboto', "Helvetica Neue", Helvetica, Arial, sans-serif;
  color: #20252B;
  transition: all 0.2s ease-out;
  pointer-events: none;
}
.cc__details__group__label--active {
  top: 12px;
  font-size: 12px;
  color: #6F7072;
}
.cc__details__group--error .cc__details__group__input {
  border: 1px solid #CCCCCC;
  background: #FFFFFF;
}
.cc__details__group--error .cc__details__group__label {
  color: #20252B;
}
.cc__details__group .form-error {
  color: #C21B17;
  font-size: 14px;
  margin-top: 4px;
  display: block;
  padding: 0 8px;
  line-height: 16px;
  background: #FFFFFF;
  text-align: left;
  font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif;
}
/* --- Legal Notice --- */
.legal__notice {
  display: flex;
  gap: 20px;
  margin-top: 20px;
  font-family: 'Roboto', "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 16px;
  font-weight: 300;
  text-align: left;
}
.legal__notice p {
  margin: 0;
  line-height: 1.5;
  color: #20252B;
}
.legal__notice p span {
  font-weight: 700;
  color: #20252B;
}
.legal__notice input[type="checkbox"] {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}
.legal__notice input[type="checkbox"].checked {
  background-color: #FFFFFF;
  color: #C21B17;
}
.legal__notice .error__message {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  color: #C21B17;
  text-align: left;
  font-family: 'Roboto', "Helvetica Neue", Helvetica, Arial, sans-serif;
}
/* --- Buttons --- */
.btn__panel {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 50px 0;
}
@media screen and (max-width: 450px) {
  .btn__panel {
    padding-top: 35px;
  }
}
.btn__panel__prev-next {
  display: flex;
  justify-content: space-between;
  width: 100%;
}
@media screen and (max-width: 450px) {
  .btn__panel__prev-next {
    width: 100%;
  }
}
.btn__panel__prev-next .btn {
  background-color: #FFFFFF;
  color: #C21B17;
  font-size: 16px;
  font-weight: 700;
  text-transform: uppercase;
  padding: 16px 40px;
  border-radius: 4px;
  border: 1px solid #C21B17;
  display: flex;
  align-items: center;
  justify-content: center;
}
.btn__panel__prev-next .btn:hover {
  border: 1px solid #82120F;
  color: #82120F;
}
.btn__panel__prev-next .btn:disabled {
  background-color: #6F7072;
  border-color: #6F7072;
  color: #FFFFFF;
  cursor: not-allowed;
}
.btn__panel__prev-next .btn__next {
  background-color: #C21B17;
  color: #FFFFFF;
  font-size: 16px;
  font-weight: 700;
  text-transform: uppercase;
  padding: 16px 40px;
  border-radius: 4px;
  border: 1px solid #FFFFFF;
  display: flex;
  align-items: center;
  justify-content: center;
}
.btn__panel__prev-next .btn__next:hover {
  border: 1px solid #82120F;
  background-color: #82120F;
  color: #FFFFFF;
}
/* --- Responsive Fixes --- */
@media screen and (max-width: 450px) {
  .payment__summary {
    width: 100%;
  }
  .payment__panel {
    width: 100%;
  }
}
/* --- Progress Bar --- */
.progress-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0;
}
.progress-bar__step {
  flex: 1;
  height: 8px;
  background-color: #d3d3d3;
  /* Inactive step color */
  margin: 0 5px;
  border-top-left-radius: 15% 100%;
  border-bottom-right-radius: 15% 100%;
}
.progress-bar__step--active {
  background-color: #c0392b;
  /* Active step color (red) */
}

/* --- Color Palette --- */
/* --- Typography --- */
/* --- Borders & Spacing --- */
/* --- Button Styles --- */
/* --- Breakpoints --- */
/* --- Responsive Mixin --- */
/* --- Button Styles --- */
/* --- Button Focus Styles --- */
button,
button[type="button"] {
  /* --- For touch devices fallback --- */
}
button:focus,
button[type="button"]:focus {
  border-radius: 2px;
  outline: 2px dashed #20252B;
  outline-offset: 4px;
}
button:focus:not(:focus-visible),
button[type="button"]:focus:not(:focus-visible) {
  outline: none;
}
@media (hover: none) {
  button:focus,
  button[type="button"]:focus {
    outline: none;
  }
}
[role="button"]:focus {
  border-radius: 2px;
  outline: 2px dashed #20252B;
  outline-offset: 4px;
}
/* --- Input Focus Styles --- */
input[type="checkbox"]:focus,
input[type="number"]:focus,
input[type="search"]:focus,
input[type="button"]:focus,
input[type="reset"]:focus,
input[type="submit"]:focus {
  border-radius: 2px;
  outline: 2px dashed #20252B;
  outline-offset: 4px;
  background: #FFFFFF;
}
input[type="radio"]:focus {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  outline: 2px dashed #20252B;
  outline-offset: 4px;
  background: #FFFFFF;
}
input[inputmode="numeric"]:focus,
input[type="text"]:focus,
input[type="email"]:focus {
  border-radius: 4px;
  outline: 2px solid #6F7072;
  background: #FFFFFF;
}
.rs__control:focus,
.rs__control:focus-within {
  border-radius: 4px !important;
  outline: 2px solid #6F7072 !important;
  background: #FFFFFF;
}
.rs__input[type="text"]:focus {
  border: 0 !important;
}
/* --- Anchor Focus Styles --- */
a:focus {
  border-radius: 4px;
  outline: 2px dashed #20252B;
  outline-offset: 2px;
}
a:focus:not(:focus-visible) {
  outline: none;
}
/* --- Flexbox Helpers --- */
.flex-center {
  display: flex;
  align-items: center;
  justify-content: center;
}
.flex-between {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
/* --- Text Styles --- */
.text-uppercase {
  text-transform: uppercase;
}
.text-bold {
  font-weight: 700;
}
.text-light {
  font-weight: 200;
}
/* --- Input Styles --- */
.input-field {
  width: 230px;
  border-radius: 4px;
  border: 1px solid #6F7072;
  background: #FFFFFF;
  padding: 16px;
}
/* --- Error Messages --- */
.error-message {
  color: #C21B17;
  font-size: 14px;
  padding: 0 8px;
  margin-top: 4px;
  line-height: 16px;
  background: none;
}
/* --- Summary Accordion --- */
.accordion-title {
  font-size: 24px;
  font-weight: 200;
  line-height: 32px;
  padding: 40px 0 0;
}
#root {
  padding: 0;
}
.quote {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0;
  text-align: center;
  position: relative;
  /* shared intro text under step titles */
  /*
    1) Top-right "Get a Quote" / "RTP"
       We use a unique class for these buttons to avoid conflicts.
  */
  /*
    2) The step flow (inside the modal)
  */
  /*
    3) The bottom button panel for "Back" / "Next"
       (Rewritten: centers Next on step 1, keeps pair centered on other steps)
  */
}
@media screen and (max-width: 450px) {
  .quote {
    height: 740px;
    width: 100%;
    background-color: #C21B17;
  }
}
.quote__intro {
  margin: 0 0 20px;
  font-family: 'Roboto', "Helvetica Neue", Helvetica, Arial, sans-serif;
  color: var(----color-black, #20252B);
  text-align: center;
  font-size: 20px;
  font-style: normal;
  font-weight: 300;
  line-height: 28px;
}
.quote__home {
  width: 100%;
  height: 500px;
  text-align: left;
}
@media screen and (max-width: 450px) {
  .quote__home {
    height: 42%;
  }
}
.quote__home .hero_img {
  position: absolute;
  top: 0;
  right: 0;
  max-width: 1200px;
  z-index: -1;
}
@media screen and (max-width: 450px) {
  .quote__home .hero_img {
    display: none;
  }
}
.quote__home .hero_img img {
  position: absolute;
  top: 0;
  right: 0;
}
.quote__home .hero_img_mobile img {
  max-width: 100%;
  height: auto;
  display: block;
}
@media screen and (min-width: 451px) {
  .quote__home .hero_img_mobile {
    display: none;
  }
}
.quote__home h1 {
  font-size: 56px;
  font-family: 'Roboto', "Helvetica Neue", Helvetica, Arial, sans-serif;
  width: 420px;
  color: #20252B;
  font-weight: 300;
  padding: 0 70px 0 0;
  text-align: left;
  line-height: 65px;
  margin: 20px 0 15px 0;
}
@media screen and (max-width: 450px) {
  .quote__home h1 {
    width: 370px;
    color: #FFFFFF !important;
    padding: 10px 20px;
    text-align: center;
    font-size: 40px;
    line-height: 52px;
    margin: 0 auto;
  }
}
.quote__home h2 {
  font-size: 24px;
  font-family: 'Roboto', "Helvetica Neue", Helvetica, Arial, sans-serif;
  width: 400px;
  color: #20252B;
  font-weight: 300;
  padding: 0;
  text-align: left;
  margin-top: 0;
  line-height: 32px;
}
@media screen and (max-width: 450px) {
  .quote__home h2 {
    color: #FFFFFF;
    padding: 10px 20px;
    width: 370px;
    font-size: 20px;
    line-height: 1.5;
    margin: 0 auto;
  }
}
.quote__home__btn {
  padding: 20px 30px;
  background-color: #C21B17;
  color: #FFFFFF;
  font-size: 16px;
  border: 1px solid #C21B17;
  border-radius: 4px;
  margin-top: 10px;
  text-transform: uppercase;
  font-weight: 700;
}
.quote__home__btn:hover {
  background-color: #82120F;
  border-color: #82120F;
  color: #FFFFFF;
}
@media screen and (max-width: 450px) {
  .quote__home__btn {
    color: #C21B17;
    background-color: #FFFFFF;
    border: none;
    padding: 20px;
    width: 90%;
    margin: 20px;
  }
}
.quote__actions {
  width: 10rem;
  padding-bottom: 2rem;
  position: absolute;
  top: 0;
  right: 0;
  text-align: right;
}
.quote__actions .quote__actions__btn {
  background-color: transparent;
  border: 1px solid #20252B;
  color: #20252B;
  padding: 8px 16px;
  margin-bottom: 0.5rem;
  cursor: pointer;
  display: inline-block;
}
.quote__actions .quote__actions__btn:hover {
  background-color: #EBEBEB;
}
.quote__actions .quote__actions__btn:not(:last-child) {
  margin-right: 0.5rem;
}
.quote__flow {
  margin: 0;
  text-align: center;
}
.quote__steps-content {
  margin-top: 0;
}
.quote__btn-panel {
  align-items: center;
  max-width: 367px;
  width: 100%;
  margin: 0 auto;
}
.quote__btn-panel__prev-next {
  margin-left: 0;
  margin-right: 0;
  /* Base: centered pair with gap, content-sized row */
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  /* Step 1 (no Back): center Next under content using a 3-col grid */
  /* BACK button visuals */
  /* NEXT button visuals */
}
.quote__btn-panel__prev-next.is-first-step {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  /* spacer | NEXT | spacer */
  align-items: center;
  width: 100%;
  max-width: 560px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 0;
}
.quote__btn-panel__prev-next.is-first-step .quote__btn--next {
  grid-column: 2;
  justify-self: center;
}
.quote__btn-panel__prev-next .quote__btn--back {
  color: #C21B17;
  background-color: #FFFFFF;
  border: 1px solid #C21B17;
  font-family: 'Roboto', "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 16px;
  font-weight: 700;
  text-transform: uppercase;
  display: flex;
  height: 56px;
  padding: 16px 40px;
  align-items: center;
  border-radius: 4px;
  justify-content: center;
  letter-spacing: 1px;
  cursor: pointer;
}
.quote__btn-panel__prev-next .quote__btn--back:hover {
  border: 1px solid #82120F;
  color: #82120F;
}
.quote__btn-panel__prev-next .quote__btn--back:focus-visible,
.quote__btn-panel__prev-next .quote__btn--back:focus {
  border: 1px solid #82120F;
  color: #82120F;
}
.quote__btn-panel__prev-next .quote__btn--back:disabled {
  background-color: #6F7072;
  border: 1px solid #6F7072;
  color: #FFFFFF;
  cursor: not-allowed;
}
.quote__btn-panel__prev-next .quote__btn--next {
  background-color: #C21B17;
  color: #FFFFFF;
  font-family: 'Roboto', "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 16px;
  font-weight: 700;
  text-transform: uppercase;
  display: flex;
  height: 56px;
  padding: 16px 40px;
  align-items: center;
  border-radius: 4px;
  justify-content: center;
  letter-spacing: 1px;
  cursor: pointer;
  border: 1px solid #C21B17;
}
.quote__btn-panel__prev-next .quote__btn--next:hover {
  border: 1px solid #82120F;
  background-color: #82120F;
}
.quote__btn-panel__prev-next .quote__btn--next:focus-visible,
.quote__btn-panel__prev-next .quote__btn--next:focus {
  border: 1px solid #82120F;
  background-color: #82120F;
}
.quote__btn-panel__prev-next .quote__btn--next:disabled {
  background-color: #6F7072;
  border: 1px solid #6F7072;
  color: #FFFFFF;
  cursor: not-allowed;
}
/* --- Quote Button Spinner Styles --- */
.quote__btn-spinner {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  border: 2px solid #fff;
  border-top-color: transparent;
  margin-right: 8px;
  animation: quote-spinner-rotate 0.75s linear infinite;
}
@keyframes quote-spinner-rotate {
  to {
    transform: rotate(360deg);
  }
}
/* --- Stepper Styles --- */
#RFS-StepButton {
  border-radius: 50%;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid #ccc;
  background-color: white;
  color: #ccc;
  font-size: 14px;
  position: relative;
}
#RFS-StepButton.StepperContainer-0-1-1 {
  padding: 0;
  margin: 0 auto;
  width: 50%;
}
#RFS-StepButton span {
  font-weight: bold;
}
#RFS-StepButton.completed {
  background-color: white !important;
  border-color: #C21B17 !important;
  color: #C21B17 !important;
  filter: drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.1)) !important;
}
#RFS-StepButton.completed span {
  color: #C21B17 !important;
}
#RFS-StepButton.active {
  background-color: #C21B17 !important;
  border-color: #C21B17 !important;
  color: white !important;
}
#RFS-StepButton.active span {
  color: white !important;
}
#RFS-StepButton:not(.active):not(.completed) {
  background-color: white;
  border-color: #ccc;
  color: #C21B17;
}
#RFS-StepButton:not(.active):not(.completed) span {
  color: #C21B17 !important;
}
#RFS-StepperContainer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0 auto;
  padding: 0 0 24px;
  min-width: 0;
  width: 100%;
}
@media screen and (max-width: 768px) {
  #RFS-StepperContainer {
    padding: 0 0 8px;
  }
}
.quote-stepper--gti div[id="RFS-StepperContainer"] {
  max-width: 292px;
}
.quote-stepper--rtp div[id="RFS-StepperContainer"] {
  max-width: 187px;
}
/* stepper style override to vertically center connector line ...TBD if long term solution */
.ConnectorContainer-0-1-10,
.Connector-0-1-11,
.Connector-d1-0-1-13 {
  margin-top: 2px;
  border-color: #c21b17 !important;
  border-top-width: 2px !important;
}
.ConnectorContainer-0-1-10,
.ConnectorContainer-d0-0-1-12,
.ConnectorContainer-d2-0-1-16 {
  left: calc(-50% + 20px) !important;
  right: calc(50% + 20px) !important;
}
/* --- Mobile tweak: full-width Next on step 1 (no Back) --- */
@media (max-width: 480px) {
  .quote__btn-panel__prev-next:not(:has(.quote__btn--back)) {
    grid-template-columns: 1fr;
  }
  .quote__btn-panel__prev-next:not(:has(.quote__btn--back)) .quote__btn--next {
    grid-column: 1;
    justify-self: stretch;
    width: 100%;
  }
}
/* visually hidden but screen-reader accessible */
.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
/**
* Modal root overlay
* NOTE: This component is now portaled to <body>, so it will NOT inherit
* CSS vars from page wrappers (ex: .chooseaplan-swipe-mobile).
*/
.modal {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.8);
  visibility: hidden;
  pointer-events: none;
  transition: none;
  z-index: 11000;
  /* --- Modal Close Button for GTI --- */
  /**
   * Body should be a normal block container.
   * This also helps prevent weird "extra space" and scroll jumps.
   */
  /**
   * Optional: if inner modal content sets its own scrolling on mobile,
   * make sure it doesn't fight the modal container scroll.
   */
}
.modal.modal--open {
  visibility: visible;
  pointer-events: auto;
  transition: opacity 100ms ease-in-out, visibility 0s linear 0s;
}
.modal.modal--open .modal__main {
  transform: translateX(0);
  transition: transform 500ms linear;
}
@media (max-width: 450px) {
  .modal.modal--open .modal__main {
    transform: translateY(0);
    transition: transform 500ms linear;
  }
}
.modal.modal--closed {
  pointer-events: none;
  visibility: hidden;
  transition: opacity 0ms ease-in-out, visibility 0s linear 500ms;
}
.modal.modal--closed .modal__main {
  transform: translateX(100%);
  transition: transform 500ms linear;
}
@media (max-width: 450px) {
  .modal.modal--closed .modal__main {
    transform: translateY(100%);
    transition: transform 500ms linear;
  }
}
.modal__main {
  position: fixed;
  background: #FFFFFF;
  width: 70%;
  top: 0;
  left: 30%;
  height: 100%;
  padding: 64px 88px;
  display: flex;
  flex-direction: column;
  align-items: center;
  box-sizing: border-box;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  box-shadow: -10px 0 20px 0 rgba(0, 0, 0, 0.1);
  transform: translateX(100%);
  transition: transform 500ms linear;
  /**
     * MOBILE: Fill from header offset to the bottom (no gap)
     * Because the modal is portaled to body, we must NOT rely on
     * wrapper-defined vars. Use a fallback.
     */
}
@media (max-width: 768px) {
  .modal__main {
    width: 100%;
    left: 0;
    padding: 64px 9px;
    top: var(--aem-sticky-offset, 65px);
    right: 0;
    bottom: 0;
    height: calc(100dvh - var(--aem-sticky-offset, 65px));
    max-height: calc(100dvh - var(--aem-sticky-offset, 65px));
    transform: translateY(100%);
  }
}
@media (max-width: 450px) {
  .modal {
    background: rgba(255, 255, 255, 0.8);
  }
}
.modal__btn-container {
  position: absolute;
  top: 24px;
  right: 24px;
}
.modal__close-btn {
  color: #C21B17;
  font-size: 16px;
  font-weight: 700;
  text-transform: uppercase;
  background-color: #FFFFFF;
  border: none;
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  .modal.modal--gti .modal__close-btn {
    margin: 0;
  }
}
.modal__head {
  flex: 0 0 auto;
}
.modal__body {
  width: 100%;
  flex: 1 1 auto;
  overflow: visible;
  min-height: 0;
  padding-bottom: 64px;
}
.modal__body::after {
  content: "";
  display: block;
  width: 100%;
  height: 64px;
  margin-top: 0;
}
@media (max-width: 450px) {
  .modal .chooseaplan__cfar,
  .modal .chooseaplan__rentalcar {
    max-height: none;
    overflow: visible;
  }
}
/* --- Component Imports --- */
.quote__when {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  max-width: 604px;
  width: 100%;
  margin: 0 auto 24px;
}
@media screen and (max-width: 768px) {
  .quote__when {
    display: flow;
  }
}
.quote__when h2 {
  color: #20252B;
  font-family: 'Roboto', "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 38px;
  line-height: 47.5px;
  text-align: center;
  margin: 0 0 24px;
  font-style: normal;
}
@media screen and (max-width: 450px) {
  .quote__when h2 {
    font-size: 28px;
    line-height: 35px;
    margin-bottom: 24px;
  }
}
.quote__when__dtp-input {
  max-width: 604px;
  width: 100%;
  display: flex;
  gap: 30px;
  min-width: 0;
  margin-bottom: 24px;
}
.quote__when__dtp-input .quote-input-dates {
  position: relative;
  flex: 1 1 0;
  min-width: 0;
}
.quote__when__dtp-input .quote-input-dates label {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 16px;
  font-size: 16px;
  font-family: 'Roboto', "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 300;
  color: #20252B;
  pointer-events: none;
  transition: all 0.3s ease;
  z-index: 1;
}
.quote__when__dtp-input .quote-input-dates::after {
  content: "";
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  width: 24px;
  height: 24px;
  background-image: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%3e%3cg%20clip-path='url(quote_purchase_v2_react/css/%23clip0_705_1660)'%3e%3cpath%20d='M20%203H19V1H17V3H7V1H5V3H4C2.9%203%202%203.9%202%205V21C2%2022.1%202.9%2023%204%2023H20C21.1%2023%2022%2022.1%2022%2021V5C22%203.9%2021.1%203%2020%203ZM20%2021H4V8H20V21Z'%20fill='%236F7072'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_705_1660'%3e%3crect%20width='24'%20height='24'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  pointer-events: none;
  transition: all 0.3s ease;
  z-index: 1;
}
.quote__when__dtp-input .quote-input-dates.filled label,
.quote__when__dtp-input .quote-input-dates:focus-within label {
  position: absolute;
  font-size: 12px;
  font-family: 'Roboto', "Helvetica Neue", Helvetica, Arial, sans-serif;
  text-transform: uppercase;
  top: 12px;
  font-weight: 700;
  color: #6F7072;
}
@media screen and (max-width: 768px) {
  .quote__when__dtp-input .quote-input-dates.filled label,
  .quote__when__dtp-input .quote-input-dates:focus-within label {
    top: 15px;
  }
}
.quote__when__dtp-input .quote-input-dates.filled::after,
.quote__when__dtp-input .quote-input-dates:focus-within::after {
  width: 16px;
  height: 16px;
  right: 8px;
  bottom: 13px;
  top: auto;
  transform: none;
}
.quote__when__dtp-input .quote-input-dates.filled .react-datepicker-wrapper .react-datepicker__input-container input,
.quote__when__dtp-input .quote-input-dates:focus-within .react-datepicker-wrapper .react-datepicker__input-container input {
  padding-top: 28px;
  padding-bottom: 8px;
}
@media screen and (max-width: 768px) {
  .quote__when__dtp-input .quote-input-dates.filled .react-datepicker-wrapper .react-datepicker__input-container input,
  .quote__when__dtp-input .quote-input-dates:focus-within .react-datepicker-wrapper .react-datepicker__input-container input {
    padding-top: 28px;
    padding-bottom: 8px;
  }
}
.quote__when__dtp-input .react-datepicker-wrapper {
  flex: 1 1 0;
  min-width: 0;
  max-height: 56px;
  width: 100%;
}
.quote__when__dtp-input .react-datepicker-wrapper label {
  position: absolute;
  top: 18px;
  left: 16px;
  font-size: 16px;
  font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 300;
  color: #20252b;
  pointer-events: none;
  transition: all 0.3s ease;
  z-index: 1;
}
.quote__when__dtp-input .react-datepicker-wrapper .react-datepicker__input-container input {
  width: 100%;
  box-sizing: border-box;
  padding: 16px;
  font-family: 'Roboto', "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 300;
  font-size: 16px;
  line-height: 24px;
  border: 1px solid #CCCCCC;
  border-radius: 4px;
  height: 56px;
}
@media screen and (max-width: 768px) {
  .quote__when__dtp-input {
    width: 100%;
    gap: 24px;
  }
}
.quote__when__validation-message {
  background-color: #ff9f001a;
  border-radius: 4px;
  padding: 1rem;
  margin-top: 40px;
  text-align: left;
  width: 367px;
}
@media screen and (max-width: 450px) {
  .quote__when__validation-message {
    width: 300px;
  }
}
.quote__when__validation-message span {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  font-size: 16px;
  font-family: 'Roboto', "Helvetica Neue", Helvetica, Arial, sans-serif;
  color: #20252B;
  line-height: 1.4;
}
.quote__when__validation-message span .quote__who__icon {
  width: 32px;
  height: 32px;
  flex-shrink: 0;
  margin-top: 2px;
}
.quote__when .react-datepicker {
  border: 1px solid #EBEBEB;
  color: #20252B;
  white-space: normal;
  max-width: 604px;
  width: 100%;
  height: 404px;
  display: flex;
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  .quote__when .react-datepicker {
    border: none;
  }
}
.quote__when .react-datepicker .react-datepicker__month-container {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  padding: 15px 16px;
  box-sizing: border-box;
  overflow: hidden;
}
.quote__when .react-datepicker .react-datepicker__month-container .react-datepicker__month-container {
  padding: 0 0 16px;
}
.quote__when .react-datepicker .react-datepicker__month {
  width: 100%;
  margin: 0;
}
.quote__when .react-datepicker .react-datepicker__week,
.quote__when .react-datepicker .react-datepicker__day-names {
  display: grid;
  grid-template-columns: repeat(7, minmax(32px, 1fr));
  justify-content: space-between;
  padding: 0 2px;
  box-sizing: border-box;
  margin-top: 16px;
}
.quote__when .react-datepicker .react-datepicker__day,
.quote__when .react-datepicker .react-datepicker__day-name {
  width: 32px;
  height: 32px;
}
.quote__when .react-datepicker .react-datepicker__header {
  padding: 0;
  border-bottom: 1px solid #EBEBEB;
  background-color: #FFFFFF;
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  text-align: center;
  font-family: 'Roboto', "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.quote__when .react-datepicker .react-datepicker__header .react-datepicker__current-month,
.quote__when .react-datepicker .react-datepicker__header h2 {
  font-size: 16px;
}
.quote__when .react-datepicker h2.react-datepicker__current-month {
  font-size: 16px;
  line-height: 20px;
  text-transform: uppercase;
  font-weight: 700;
  font-family: 'Roboto', "Helvetica Neue", Helvetica, Arial, sans-serif;
  margin-block-end: 26px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .quote__when .react-datepicker h2.react-datepicker__current-month {
    margin-block-end: 24px;
  }
}
.quote__when .react-datepicker .react-datepicker__day-names {
  margin-bottom: 0;
}
.quote__when .react-datepicker .react-datepicker__navigation {
  top: 12px;
}
.quote__when .react-datepicker .react-datepicker__year-read-view--down-arrow,
.quote__when .react-datepicker .react-datepicker__month-read-view--down-arrow,
.quote__when .react-datepicker .react-datepicker__month-year-read-view--down-arrow,
.quote__when .react-datepicker .react-datepicker__navigation-icon::before {
  border-color: #C21B17;
}
.quote__when .react-datepicker .react-datepicker__day:not([aria-disabled="true"]):not(
        .react-datepicker__day--outside-month
      ):hover,
.quote__when .react-datepicker .react-datepicker__day--in-selecting-range:not(
        .react-datepicker__day--in-range,
        .react-datepicker__month-text--in-range,
        .react-datepicker__quarter-text--in-range,
        .react-datepicker__year-text--in-range
      ) {
  background-color: #C21B17;
  border-radius: 16px;
  color: #FFFFFF;
  width: 32px;
  height: 32px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.quote__when .react-datepicker .react-datepicker__day--selected:not([aria-disabled="true"]):hover,
.quote__when .react-datepicker .react-datepicker__day--in-selecting-range:not(
        [aria-disabled="true"]
      ):hover,
.quote__when .react-datepicker .react-datepicker__day--selected {
  background-color: #C21B17;
  border-radius: 16px;
}
.quote__when .react-datepicker .react-datepicker__day--in-range {
  background-color: #C21B17;
  border-radius: 16px;
  width: 32px;
  height: 32px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.quote__when .react-datepicker .react-datepicker__day--outside-month.react-datepicker__day--in-range,
.quote__when .react-datepicker .react-datepicker__day--outside-month.react-datepicker__day--selected,
.quote__when .react-datepicker .react-datepicker__day--outside-month.react-datepicker__day--in-selecting-range {
  background-color: transparent !important;
  color: #6F7072 !important;
}
.quote__when .react-datepicker .react-datepicker__day--outside-month {
  pointer-events: none;
  color: #6F7072;
  cursor: default;
}
.quote__when .react-datepicker .react-datepicker__day--outside-month:hover {
  background-color: transparent !important;
  color: #6F7072 !important;
  cursor: default;
}
.quote__when .react-datepicker .react-datepicker__day--today {
  background-color: #FFFFFF;
  color: #20252B;
  border-color: #6F7072;
  border-radius: 16px;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}
.quote__when .react-datepicker .react-datepicker__day--today::before {
  content: "";
  position: absolute;
  width: 32px;
  height: 32px;
  border: 1px solid #6F7072;
  border-radius: 50%;
  box-sizing: border-box;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none;
}
.quote__when .react-datepicker .react-datepicker__day--today.react-datepicker__day--outside-month::before {
  content: none !important;
  border: 0 !important;
  box-shadow: none !important;
  outline: none !important;
}
.quote__when .react-datepicker .react-datepicker__day--today.react-datepicker__day--outside-month[aria-disabled="true"]::before {
  content: none !important;
}
.quote__when .d-none {
  display: none;
}
.d-none {
  display: none;
}
@media screen and (max-width: 768px) {
  .quote__when .react-datepicker {
    display: flex;
    justify-content: center;
    padding: 1rem 0;
    width: 100%;
  }
  .quote__when .react-datepicker .react-datepicker__day--today.react-datepicker__day--outside-month::before,
  .quote__when .react-datepicker .react-datepicker__day--today.react-datepicker__day--outside-month[aria-disabled="true"]::before {
    content: "" !important;
    border: 1px solid #6F7072 !important;
  }
  .react-datepicker {
    flex-direction: column;
    gap: 0;
  }
}
@media (max-width: 450px) {
  .quote__when .react-datepicker .react-datepicker__day--outside-month {
    pointer-events: auto;
    cursor: pointer;
    color: #20252B;
  }
  .quote__when .react-datepicker .react-datepicker__day--outside-month.react-datepicker__day--in-range,
  .quote__when .react-datepicker .react-datepicker__day--outside-month.react-datepicker__day--selected,
  .quote__when .react-datepicker .react-datepicker__day--outside-month.react-datepicker__day--in-selecting-range {
    background-color: #C21B17 !important;
    color: #FFFFFF !important;
    border-radius: 16px;
    width: 32px;
    height: 32px;
    display: flex;
    justify-content: center;
    align-items: center;
  }
}
.quote__trip-type {
  text-align: left;
}
.quote__trip-type h2 {
  color: #20252B;
  font-size: 32px;
  font-family: 'Roboto', "Helvetica Neue", Helvetica, Arial, sans-serif;
  margin-bottom: 1rem;
}
.quote__trip-type h4 {
  color: #6F7072;
  font-size: 16px;
  margin-bottom: 1rem;
}
.quote__trip-type__validation-message {
  margin-bottom: 1rem;
  padding: 0.5rem;
  background-color: #f8d7da;
  color: #721c24;
  border: 1px solid #f5c6cb;
  border-radius: 4px;
  font-size: 14px;
  text-align: center;
}
.quote__trip-type__error-message {
  margin-bottom: 1rem;
  font-size: 16px;
}
.quote__trip-type__options {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}
.quote__trip-type__option {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.quote__trip-type__option input {
  margin-right: 0.5rem;
}
.quote__trip-type__option img {
  width: 50px;
  height: 50px;
  margin-right: 0.5rem;
}
/* ====== rail + text widths ====== */
/* ====== react-select (classNamePrefix="where-rs") ====== */
.where-rs__control {
  width: 100%;
  min-height: 56px !important;
  color: #20252B;
  font-family: 'Roboto', "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 16px;
  font-weight: 300;
  line-height: 20px;
  letter-spacing: 0.25px;
  margin-bottom: 16px;
  border: 1px solid #cccccc;
  border-radius: 4px;
  box-shadow: none !important;
  background: #FFFFFF;
  padding: 4px 12px;
}
.where-rs__control:hover {
  border: 2px solid #B0B2B3;
  box-shadow: none !important;
}
.where-rs__control--is-focused {
  min-height: 56px !important;
  border: 2px solid #B0B2B3 !important;
  box-shadow: none !important;
}
.where-rs__value-container {
  width: 100%;
  text-align: left;
  margin-left: 5px;
  padding: 0 8px !important;
  font-size: 16px;
  justify-content: left;
  font-family: 'Roboto', "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 300;
}
.where-rs__single-value,
.where-rs__placeholder {
  width: 100%;
  text-align: left;
  font-family: 'Roboto', "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 16px;
  font-weight: 300;
  line-height: 20px;
  color: #20252B;
}
.where-rs__placeholder {
  color: #20252B;
}
.where-rs__indicator-separator {
  display: block;
  width: 1px;
  background-color: #cccccc;
}
.where-rs__dropdown-indicator,
.where-rs__clear-indicator {
  color: #20252B;
  padding: 8px;
}
.where-rs__dropdown-indicator:hover,
.where-rs__clear-indicator:hover {
  color: #20252B;
}
.where-rs__menu {
  width: 100%;
  margin-top: 8px;
  border: 1px solid #cccccc;
  border-radius: 4px;
  box-shadow: none;
  overflow: hidden;
  z-index: 6;
  background: #FFFFFF;
}
.where-rs__menu-list {
  max-height: 240px;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  padding: 0;
  background-color: #FFFFFF;
  color: #20252B;
  font-family: 'Roboto', "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.where-rs__option {
  display: block;
  width: 100%;
  text-align: left;
  font-size: 16px;
  font-style: normal;
  font-weight: 200;
  line-height: 20px;
  letter-spacing: 0.25px;
  padding: 10px 20px;
  background-color: #FFFFFF;
  color: #20252B;
  font-family: 'Roboto', "Helvetica Neue", Helvetica, Arial, sans-serif;
  border-bottom: 1px solid #EBEBEB;
  cursor: pointer;
}
.where-rs__option:hover {
  background-color: #C21B17;
  color: #FFFFFF;
}
.where-rs__option--is-focused,
.where-rs__option--is-selected {
  background-color: #C21B17 !important;
  color: #FFFFFF !important;
}
/* ====== WHERE panel ====== */
.quote__where {
  text-align: left;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  max-width: 367px;
  width: 100%;
  /* both selects share the same rail as the buttons */
}
.quote__where__content {
  margin-bottom: 16px;
  /* helper paragraph under subtitle */
}
.quote__where__content h2 {
  color: #20252B;
  font-size: 38px;
  font-family: 'Roboto', "Helvetica Neue", Helvetica, Arial, sans-serif;
  margin: 0 0 24px;
  text-align: center;
  font-style: normal;
  line-height: 47.5px;
}
@media screen and (max-width: 450px) {
  .quote__where__content h2 {
    font-size: 28px;
    margin-bottom: 24px;
    line-height: 35px;
  }
}
.quote__where__content h2 p {
  margin: 0;
  font-size: 20px;
  font-style: normal;
  font-weight: 500;
  line-height: 28px;
  color: var(----color-black, #20252B);
  text-align: center;
}
.quote__where__content h3 {
  color: #6F7072;
  font-size: 16px;
  margin-bottom: 0.5rem;
  text-align: center;
}
.quote__where__content__location {
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 0.5rem;
  color: #6F7072;
}
.quote__where__content p {
  margin: 0;
  line-height: 24px;
}
.quote__where__dropdown {
  width: 360px;
  margin: 0 auto 12px;
}
.quote__where__dropdown .where-rs__control {
  width: 100%;
}
.quote__where__dropdown .where-rs__menu {
  width: 100%;
}
@media screen and (max-width: 450px) {
  .quote__where__dropdown {
    width: 100%;
  }
}
.quote__where__error-message,
.quote__where__validation-message {
  background-color: rgba(233, 87, 61, 0.1);
  border-radius: 4px;
  padding: 1rem;
  text-align: left;
  width: 367px;
  box-sizing: border-box;
  margin-bottom: 40px;
}
@media screen and (max-width: 450px) {
  .quote__where__error-message,
  .quote__where__validation-message {
    width: 300px;
  }
}
.quote__where__error-message span,
.quote__where__validation-message span {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  font-size: 16px;
  font-family: 'Roboto', "Helvetica Neue", Helvetica, Arial, sans-serif;
  color: #20252B;
  line-height: 1.4;
}
.quote__where__error-message span .quote__who__icon,
.quote__where__validation-message span .quote__who__icon {
  width: 32px;
  height: 32px;
  flex-shrink: 0;
  margin-top: 2px;
}
/* If you use menuPortalTarget, keep portal width on the rail too */
.where-rs__menu-portal {
  width: 360px;
}
@media screen and (max-width: 450px) {
  .where-rs__menu-portal {
    width: 300px;
  }
}
.quote__subtitle__subtitle-content {
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 0.5rem;
  color: #6F7072;
}
.quote__subtitle__subtitle-content p {
  margin-bottom: 0;
}
/* react-select styles scoped to Who only (classNamePrefix="who-rs") */
.who-rs__control {
  display: flex;
  justify-content: center;
  width: 100%;
  min-height: 54px;
  color: #20252B;
  font-family: 'Roboto', "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 16px;
  font-weight: 300;
  line-height: 20px;
  letter-spacing: 0.25px;
  border-radius: 4px;
  margin-bottom: 16px;
  border: 1px solid #CCCCCC;
  box-shadow: none;
}
.who-rs__control:hover {
  border: 2px solid #B0B2B3;
}
.who-rs__control--is-focused {
  min-height: 54px;
  border: 2px solid #B0B2B3 !important;
  box-shadow: none !important;
}
.who-rs__value-container {
  justify-content: flex-start;
  text-align: left;
  margin-left: 5px;
  padding: 16px 8px 0 !important;
  font-family: 'Roboto', "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 300;
  font-size: 16px;
}
.who-rs__single-value,
.who-rs__placeholder {
  font-family: 'Roboto', "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 16px;
  color: #20252B;
  text-align: left;
}
.who-rs__placeholder {
  color: transparent;
}
.who-rs__menu {
  box-shadow: none;
}
.who-rs__menu-list {
  display: flex;
  flex-direction: column;
  font-size: 16px;
  font-style: normal;
  font-weight: 200;
  line-height: 20px;
  letter-spacing: 0.25px;
  padding: 10px 0;
  background-color: #FFFFFF;
  color: #20252B;
  font-family: 'Roboto', "Helvetica Neue", Helvetica, Arial, sans-serif;
  border-bottom: 1px solid #EBEBEB;
  text-align: left;
}
.who-rs__menu-list:hover {
  background-color: transparent;
}
.who-rs__option {
  font-size: 16px;
  font-style: normal;
  font-weight: 200;
  line-height: 20px;
  letter-spacing: 0.25px;
  padding: 10px 20px;
  background-color: #FFFFFF;
  color: #20252B;
  font-family: 'Roboto', "Helvetica Neue", Helvetica, Arial, sans-serif;
  border-bottom: 1px solid #EBEBEB;
  text-align: left;
}
.who-rs__option:hover {
  background-color: #C21B17;
  color: #FFFFFF;
  text-align: left;
}
.who-rs__option--is-focused,
.who-rs__option--is-selected {
  background-color: #C21B17;
  color: #FFFFFF;
}
.quote__who {
  text-align: left;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  max-width: 367px;
  margin: 0 auto;
}
.quote__who input:-webkit-autofill {
  box-shadow: 0 0 0 1000px #FFFFFF inset !important;
  -webkit-box-shadow: 0 0 0 1000px #FFFFFF inset !important;
  -webkit-text-fill-color: #20252B !important;
  transition: background-color 5000s ease-in-out 0s;
}
.quote__who h2 {
  color: #20252B;
  font-size: 38px;
  font-family: 'Roboto', "Helvetica Neue", Helvetica, Arial, sans-serif;
  margin: 0 0 24px;
  text-align: center;
  font-style: normal;
  line-height: 47.5px;
}
@media screen and (max-width: 450px) {
  .quote__who h2 {
    font-size: 28px;
    line-height: 35px;
    margin-bottom: 24px;
  }
}
.quote__who__age-input {
  width: 30px;
  padding: 12px;
  font-size: 16px;
  font-family: 'Roboto', "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 300;
  border: 1px solid #CCCCCC;
  border-radius: 4px;
}
.quote__who__travelers-panel {
  margin: 0 40px;
  max-width: 367px;
  width: 100%;
}
.quote__who__all-travelers {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin: 0px 0 40px;
}
.quote__who .select__wrapper {
  position: relative;
  margin-bottom: 16px;
}
.quote__who .select__wrapper label {
  position: absolute;
  top: 18px;
  left: 16px;
  font-size: 16px;
  font-family: 'Roboto', "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 300;
  color: #20252B;
  pointer-events: none;
  transition: all 0.3s ease;
  z-index: 1;
}
.quote__who .select__wrapper.filled label,
.quote__who .select__wrapper:focus-within label {
  position: absolute;
  font-size: 12px;
  font-family: 'Roboto', "Helvetica Neue", Helvetica, Arial, sans-serif;
  text-transform: uppercase;
  top: 8px;
  font-weight: 700;
  color: #6F7072;
}
.quote__who .select__wrapper .who-rs__container {
  width: 100%;
}
.quote__who .select__wrapper .who-rs__control,
.quote__who .select__wrapper .who-rs__control--is-focused {
  width: 100%;
  min-height: 54px;
  color: #20252B;
  font-family: 'Roboto', "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 16px;
  font-weight: 300;
  line-height: 20px;
  letter-spacing: 0.25px;
  border-radius: 4px;
  margin-bottom: 16px;
  border-color: #CCCCCC;
}
.quote__who .select__wrapper .who-rs__control:hover,
.quote__who .select__wrapper .who-rs__control--is-focused:hover {
  border: 2px solid #B0B2B3;
}
.quote__who .select__wrapper .who-rs__value-container {
  text-align: left;
  margin-left: 5px;
  padding: 16px 8px 0 !important;
}
.quote__who .select__wrapper .who-rs__placeholder {
  color: transparent !important;
}
.quote__who__traveler-info {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
  position: relative;
}
.quote__who__traveler-info label {
  font-size: 20px;
  font-weight: 300;
  color: #20252B;
  font-family: 'Roboto', "Helvetica Neue", Helvetica, Arial, sans-serif;
  width: 160px;
  text-align: left;
}
.quote__who__traveler-info .quote__who__remove-traveler-btn {
  position: absolute;
  top: 50%;
  left: 0;
  background: transparent;
  border: none;
  color: #20252B;
  text-transform: lowercase;
  padding: 0;
  cursor: pointer;
  font-size: 16px;
  font-weight: 500;
  text-decoration: underline;
  margin-top: 4px;
  align-self: flex-start;
}
.quote__who__add-traveler-btn {
  margin-top: 1rem;
  border: none;
  background-color: #FFFFFF;
  color: #C21B17;
  font-size: 16px;
  font-weight: 700;
  line-height: 20px;
  text-transform: uppercase;
  display: flex;
  align-items: center;
  gap: 8px;
  justify-content: left;
  cursor: pointer;
}
.quote__who__divider-line {
  display: flex;
  margin: 24px 0;
}
.quote__who__divider-line svg {
  width: 100%;
  height: 2px;
  stroke: #6F7072;
}
.quote__who__traveler-state-info {
  text-align: left;
  max-width: 367px;
  width: 100%;
}
.quote__who__traveler-state-info label {
  font-size: 20px;
  font-family: 'Roboto', "Helvetica Neue", Helvetica, Arial, sans-serif;
  color: #20252B;
  display: block;
  font-weight: 300;
  margin-bottom: 8px;
}
.quote__who__traveler-state-info label.subtext {
  font-size: 14px;
  margin-bottom: 0;
}
.quote__who__traveler-state-info__traveler-state-div {
  margin-top: 0.5rem;
}
.quote__who__traveler-state-info__traveler-state-div .who-rs__container {
  width: 100%;
}
.quote__who__traveler-note {
  background-color: rgba(114, 205, 185, 0.2);
  border-radius: 4px;
  padding: 1rem;
  margin: 16px 0;
  text-align: left;
}
.quote__who__traveler-note span {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  font-size: 16px;
  font-family: 'Roboto', "Helvetica Neue", Helvetica, Arial, sans-serif;
  color: #20252B;
  line-height: 1.4;
}
.quote__who__traveler-note span .quote__who__icon {
  width: 32px;
  height: 32px;
  flex-shrink: 0;
  margin-top: 2px;
}
.quote__who__validation-message {
  background-color: #ff9f001a;
  border-radius: 4px;
  padding: 1rem;
  margin: 16px 0;
  text-align: left;
}
.quote__who__validation-message span {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  font-size: 16px;
  font-family: 'Roboto', "Helvetica Neue", Helvetica, Arial, sans-serif;
  color: #20252B;
  line-height: 1.4;
}
.quote__who__validation-message span .quote__who__icon {
  width: 32px;
  height: 32px;
  flex-shrink: 0;
  margin-top: 2px;
}
.quote__trip-costs {
  text-align: center;
  display: flex;
  flex-direction: column;
  max-width: 367px;
  width: 100%;
  margin: 0 auto;
  box-sizing: border-box;
}
.quote__trip-costs input:-webkit-autofill {
  box-shadow: 0 0 0 1000px #FFFFFF inset !important;
  -webkit-box-shadow: 0 0 0 1000px #FFFFFF inset !important;
  -webkit-text-fill-color: #20252B !important;
  transition: background-color 5000s ease-in-out 0s;
}
.quote__trip-costs__content {
  /* helper paragraph under subtitle */
}
.quote__trip-costs__content h2 {
  color: #20252B;
  font-size: 38px;
  font-family: 'Roboto', "Helvetica Neue", Helvetica, Arial, sans-serif;
  margin: 0 0 24px;
  text-align: center;
  font-style: normal;
  line-height: 47.5px;
}
@media screen and (max-width: 450px) {
  .quote__trip-costs__content h2 {
    font-size: 28px;
    margin-bottom: 24px;
    line-height: 35px;
  }
}
.quote__trip-costs__content__subtitle {
  color: #6F7072;
  font-size: 16px;
  margin-bottom: 0.5rem;
  text-align: center;
}
.quote__trip-costs__content p {
  font-family: 'Roboto', "Helvetica Neue", Helvetica, Arial, sans-serif;
  max-width: 560px;
  margin: 0 auto 20px;
  color: var(----color-black, #20252B);
  line-height: 24px;
  text-align: center;
}
p.quote__trip-costs__title-content {
  font-family: 'Roboto', "Helvetica Neue", Helvetica, Arial, sans-serif;
  text-align: left;
  font-size: 16px;
  font-style: normal;
  font-weight: 300;
  line-height: 24px;
  color: var(----color-black, #20252B);
}
.quote__trip-costs__agent-details {
  display: flex;
  flex-direction: row;
  gap: 4px;
  padding: 20px 0;
  width: 100%;
  justify-content: space-between;
  text-align: left;
}
.quote__trip-costs__agent-label {
  font-weight: 700;
  font-size: 14px;
  color: #6F7072;
  text-transform: uppercase;
  font-family: 'Roboto', "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.quote__trip-costs__agent-value {
  font-size: 16px;
  font-weight: 300;
  color: #20252B;
  font-family: 'Roboto', "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.quote__trip-costs__input {
  width: 100%;
  padding: 24px 16px 10px 16px;
  border-radius: 4px;
  border: 1px solid #CCCCCC;
  background: #FFFFFF;
  font-size: 16px;
  font-family: 'Roboto', "Helvetica Neue", Helvetica, Arial, sans-serif;
  box-sizing: border-box;
}
.quote__trip-costs__input-wrapper {
  position: relative;
  margin-bottom: 16px;
}
.quote__trip-costs__input-wrapper:last-child {
  margin-bottom: 40px;
}
.quote__trip-costs__wrapper {
  max-width: 367px;
  width: 100%;
}
.quote__trip-costs label {
  position: absolute;
  font-size: 16px;
  font-family: 'Roboto', "Helvetica Neue", Helvetica, Arial, sans-serif;
  top: 16px;
  left: 16px;
  transition: all 0.3s ease-in-out;
  color: #20252B;
  font-weight: 300;
}
.quote__trip-costs input:focus + label,
.quote__trip-costs input.filled + label {
  position: absolute;
  font-size: 12px;
  font-family: 'Roboto', "Helvetica Neue", Helvetica, Arial, sans-serif;
  text-transform: uppercase;
  top: 4px;
  left: 16px;
  font-weight: 700;
  color: #6F7072;
}
.quote__trip-costs__validation-message {
  background-color: #ff9f001a;
  border-radius: 4px;
  padding: 1rem;
  margin-bottom: 1rem;
  text-align: left;
}
.quote__trip-costs__validation-message span {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  font-size: 16px;
  font-family: 'Roboto', "Helvetica Neue", Helvetica, Arial, sans-serif;
  color: #20252B;
  line-height: 1.4;
}
.quote__trip-costs__validation-message span .quote__who__icon {
  width: 32px;
  height: 32px;
  flex-shrink: 0;
  margin-top: 2px;
}
.quote__disclaimer {
  padding: 2rem;
  text-align: left;
  background-color: #F6F6F6;
  border-radius: 4px;
  margin-bottom: 1rem;
}
.quote__disclaimer h2 {
  color: #20252B;
  font-size: 32px;
  font-family: 'Roboto', "Helvetica Neue", Helvetica, Arial, sans-serif;
  margin-bottom: 0.5rem;
}
.quote__disclaimer p {
  color: #6F7072;
  font-size: 16px;
  font-family: 'Roboto', "Helvetica Neue", Helvetica, Arial, sans-serif;
}

/* --- Color Palette --- */
/* --- Typography --- */
/* --- Borders & Spacing --- */
/* --- Button Styles --- */
/* --- Breakpoints --- */
/* --- Responsive Mixin --- */
/* --- Button Styles --- */
/* --- Button Focus Styles --- */
button,
button[type="button"] {
  /* --- For touch devices fallback --- */
}
button:focus,
button[type="button"]:focus {
  border-radius: 2px;
  outline: 2px dashed #20252B;
  outline-offset: 4px;
}
button:focus:not(:focus-visible),
button[type="button"]:focus:not(:focus-visible) {
  outline: none;
}
@media (hover: none) {
  button:focus,
  button[type="button"]:focus {
    outline: none;
  }
}
[role="button"]:focus {
  border-radius: 2px;
  outline: 2px dashed #20252B;
  outline-offset: 4px;
}
/* --- Input Focus Styles --- */
input[type="checkbox"]:focus,
input[type="number"]:focus,
input[type="search"]:focus,
input[type="button"]:focus,
input[type="reset"]:focus,
input[type="submit"]:focus {
  border-radius: 2px;
  outline: 2px dashed #20252B;
  outline-offset: 4px;
  background: #FFFFFF;
}
input[type="radio"]:focus {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  outline: 2px dashed #20252B;
  outline-offset: 4px;
  background: #FFFFFF;
}
input[inputmode="numeric"]:focus,
input[type="text"]:focus,
input[type="email"]:focus {
  border-radius: 4px;
  outline: 2px solid #6F7072;
  background: #FFFFFF;
}
.rs__control:focus,
.rs__control:focus-within {
  border-radius: 4px !important;
  outline: 2px solid #6F7072 !important;
  background: #FFFFFF;
}
.rs__input[type="text"]:focus {
  border: 0 !important;
}
/* --- Anchor Focus Styles --- */
a:focus {
  border-radius: 4px;
  outline: 2px dashed #20252B;
  outline-offset: 2px;
}
a:focus:not(:focus-visible) {
  outline: none;
}
/* --- Flexbox Helpers --- */
.flex-center {
  display: flex;
  align-items: center;
  justify-content: center;
}
.flex-between {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
/* --- Text Styles --- */
.text-uppercase {
  text-transform: uppercase;
}
.text-bold {
  font-weight: 700;
}
.text-light {
  font-weight: 200;
}
/* --- Input Styles --- */
.input-field {
  width: 230px;
  border-radius: 4px;
  border: 1px solid #6F7072;
  background: #FFFFFF;
  padding: 16px;
}
/* --- Error Messages --- */
.error-message {
  color: #C21B17;
  font-size: 14px;
  padding: 0 8px;
  margin-top: 4px;
  line-height: 16px;
  background: none;
}
/* --- Summary Accordion --- */
.accordion-title {
  font-size: 24px;
  font-weight: 200;
  line-height: 32px;
  padding: 40px 0 0;
}
/**
* Modal root overlay
* NOTE: This component is now portaled to <body>, so it will NOT inherit
* CSS vars from page wrappers (ex: .chooseaplan-swipe-mobile).
*/
.modal {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.8);
  visibility: hidden;
  pointer-events: none;
  transition: none;
  z-index: 11000;
  /* --- Modal Close Button for GTI --- */
  /**
   * Body should be a normal block container.
   * This also helps prevent weird "extra space" and scroll jumps.
   */
  /**
   * Optional: if inner modal content sets its own scrolling on mobile,
   * make sure it doesn't fight the modal container scroll.
   */
}
.modal.modal--open {
  visibility: visible;
  pointer-events: auto;
  transition: opacity 100ms ease-in-out, visibility 0s linear 0s;
}
.modal.modal--open .modal__main {
  transform: translateX(0);
  transition: transform 500ms linear;
}
@media (max-width: 450px) {
  .modal.modal--open .modal__main {
    transform: translateY(0);
    transition: transform 500ms linear;
  }
}
.modal.modal--closed {
  pointer-events: none;
  visibility: hidden;
  transition: opacity 0ms ease-in-out, visibility 0s linear 500ms;
}
.modal.modal--closed .modal__main {
  transform: translateX(100%);
  transition: transform 500ms linear;
}
@media (max-width: 450px) {
  .modal.modal--closed .modal__main {
    transform: translateY(100%);
    transition: transform 500ms linear;
  }
}
.modal__main {
  position: fixed;
  background: #FFFFFF;
  width: 70%;
  top: 0;
  left: 30%;
  height: 100%;
  padding: 64px 88px;
  display: flex;
  flex-direction: column;
  align-items: center;
  box-sizing: border-box;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  box-shadow: -10px 0 20px 0 rgba(0, 0, 0, 0.1);
  transform: translateX(100%);
  transition: transform 500ms linear;
  /**
     * MOBILE: Fill from header offset to the bottom (no gap)
     * Because the modal is portaled to body, we must NOT rely on
     * wrapper-defined vars. Use a fallback.
     */
}
@media (max-width: 768px) {
  .modal__main {
    width: 100%;
    left: 0;
    padding: 64px 9px;
    top: var(--aem-sticky-offset, 65px);
    right: 0;
    bottom: 0;
    height: calc(100dvh - var(--aem-sticky-offset, 65px));
    max-height: calc(100dvh - var(--aem-sticky-offset, 65px));
    transform: translateY(100%);
  }
}
@media (max-width: 450px) {
  .modal {
    background: rgba(255, 255, 255, 0.8);
  }
}
.modal__btn-container {
  position: absolute;
  top: 24px;
  right: 24px;
}
.modal__close-btn {
  color: #C21B17;
  font-size: 16px;
  font-weight: 700;
  text-transform: uppercase;
  background-color: #FFFFFF;
  border: none;
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  .modal.modal--gti .modal__close-btn {
    margin: 0;
  }
}
.modal__head {
  flex: 0 0 auto;
}
.modal__body {
  width: 100%;
  flex: 1 1 auto;
  overflow: visible;
  min-height: 0;
  padding-bottom: 64px;
}
.modal__body::after {
  content: "";
  display: block;
  width: 100%;
  height: 64px;
  margin-top: 0;
}
@media (max-width: 450px) {
  .modal .chooseaplan__cfar,
  .modal .chooseaplan__rentalcar {
    max-height: none;
    overflow: visible;
  }
}
/* --- Component Imports --- */
body {
  width: 100%;
}
h1 {
  text-align: center;
  padding-bottom: 30px;
  font-size: 56px;
  margin-bottom: 28px;
}
@media screen and (max-width: 450px) {
  h1 {
    font-size: 32px;
    margin-bottom: 0;
  }
}
/* BLOCK: Coverage Table */
.coverage-table {
  width: 100%;
  border-collapse: collapse;
  font-family: 'Roboto', "Helvetica Neue", Helvetica, Arial, sans-serif;
  /* HEADER */
}
.coverage-table__header {
  width: 100%;
  /* Red Bar */
  /* Gray Background Content */
  /* Title */
  /* Subtitle */
}
.coverage-table__header-top-bar {
  width: 100%;
  /* Full width */
  height: 8px;
  /* Set height */
  background: #C21B17;
}
.coverage-table__header-content {
  background-color: #F6F6F6;
  padding: 15px 30px;
  text-align: left;
}
.coverage-table__header__header-row {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  width: 100%;
  max-width: 1128px;
  margin: 0 auto;
  padding: 16px 24px 16px 32px;
  box-sizing: border-box;
}
.coverage-table__header__header-text {
  min-width: 0;
}
.coverage-table__header__header-action {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
}
.coverage-table__header-title {
  font-size: 32px;
  font-weight: 300;
  color: #333;
  margin-top: 0;
  margin-bottom: 4px;
}
.coverage-table__header-subtitle {
  font-size: 16px;
  line-height: 24px;
  font-weight: 300;
  color: #666;
  margin: 0;
}
/* BLOCK: Coverage Section */
.coverage-section {
  background: white;
  transition: all 0.3s ease-in-out;
  /* ELEMENT: Title Bar */
  /* ELEMENT: Coverage Columns */
  /* ELEMENT: Coverage Details (Expandable Section) */
  /* MODIFIER: Expanded State */
  /* MODIFIER: Optional Coverages (centers only this sectionâ€™s cells) */
}
.coverage-section__wrapper {
  display: flex;
  border-bottom: 1px solid #EBEBEB;
  border-top: 1px solid #EBEBEB;
  width: 100%;
  flex-direction: row;
  justify-content: space-between;
}
@media screen and (max-width: 450px) {
  .coverage-section__wrapper {
    flex-direction: row;
  }
}
.coverage-section__title {
  font-size: 20px;
  color: #20252B;
  line-height: 28px;
  display: flex;
  width: 21%;
  padding: 26px 21px 26px 20px;
  text-align: left;
  border-right: 24px solid #EBEBEB;
  font-weight: 300;
  flex-direction: row;
  gap: 12px;
  /* ELEMENT: Expand Icon */
}
@media screen and (max-width: 450px) {
  .coverage-section__title {
    width: auto;
    border-right: none;
    justify-content: center;
  }
}
.coverage-section__title-icon {
  color: red;
  font-size: 16px;
  margin-right: 10px;
  transition: transform 0.3s ease-in-out;
}
.coverage-section__title-icon img {
  transition: transform 0.3s ease-in-out;
  margin-top: 5px;
}
.coverage-section__title-icon--expanded img {
  transform: rotate(180deg);
}
.coverage-section__title-text {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.coverage-section__title-subtitle {
  font-size: 14px;
  font-weight: 300;
  color: #20252B;
  margin: 0;
  flex: none;
  font-style: italic;
}
.coverage-section__columns {
  display: flex;
  width: 73%;
  justify-content: space-between;
  gap: 0;
  color: #20252b;
}
@media screen and (max-width: 450px) {
  .coverage-section__columns {
    width: 100%;
    text-align: center;
    gap: 0;
  }
}
.coverage-section__columns .column {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 20px 30px;
  border-right: 2px solid #EBEBEB;
  width: 33%;
  /* Shared pill used for INCLUDED / NOT AVAILABLE */
  /* INCLUDED – visually match the "Available" pill */
  /* NOT AVAILABLE pill */
  /* SINGLEâ€‘LINE labels */
  /* TWOâ€‘LINE groups */
  /* style for singleâ€‘dash cells */
}
@media screen and (max-width: 450px) {
  .coverage-section__columns .column {
    border: 1px solid #EBEBEB;
    display: block;
    text-align: center;
    padding: 10px 5px;
  }
}
.coverage-section__columns .column .coverage-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 2px 4px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  white-space: nowrap;
  margin: 10px auto 0 auto;
  line-height: 16px;
}
@media screen and (max-width: 450px) {
  .coverage-section__columns .column .coverage-pill {
    padding: 4px 10px;
  }
}
.coverage-section__columns .column .coverage-pill__dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  margin-right: 8px;
}
.coverage-section__columns .column .coverage-pill--included {
  background-color: rgba(126, 211, 33, 0.1);
  color: #20252B;
}
.coverage-section__columns .column .coverage-pill--included .coverage-pill__dot {
  background-color: #64AF73;
}
.coverage-section__columns .column .coverage-pill--not-available {
  background-color: rgba(255, 159, 0, 0.1);
}
.coverage-section__columns .column .coverage-pill--not-available .coverage-pill__dot {
  background-color: #6F7072;
}
.coverage-section__columns .column .coverage-available {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background-color: rgba(126, 211, 33, 0.1);
  color: #20252B;
  font-weight: bold;
  text-transform: uppercase;
  border: none;
  padding: 4px 8px;
  margin: 0 auto;
}
.coverage-section__columns .column .coverage-available::before {
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  background-color: #64AF73;
  border-radius: 50%;
}
.coverage-section__columns .column .limit-text {
  /* small, leftâ€‘aligned label */
  font-size: 14px;
  line-height: 20px;
  font-weight: 300;
  text-align: center;
}
.coverage-section__columns .column .limit-text-group {
  display: flex;
  justify-content: space-between;
  margin-top: 4px;
}
.coverage-section__columns .column .limit-text-group .limit-text {
  flex: 1;
}
.coverage-section__columns .column .numbers.dash {
  /* fill the columnâ€™s horizontal space */
  width: 80%;
  /* if you want it to vertically fill too, enable flexâ€growth */
  flex: 1;
  /* center the dash */
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  /* dial up the size */
  font-size: 32px;
  font-weight: 300;
}
.coverage-section__columns .big {
  font-size: 16px;
  font-weight: 700;
  line-height: 20px;
  letter-spacing: 1px;
}
.coverage-section__columns .numbers-multi {
  display: flex;
  justify-content: space-between;
}
.coverage-section__columns .amount-item {
  flex: 1;
  text-align: center;
}
@media screen and (max-width: 450px) {
  .coverage-section__columns .hide-mobile {
    display: none !important;
  }
}
.coverage-section__details {
  padding: 0;
  /* Set to zero to collapse initially */
  color: #20252B;
  font-size: 16px;
  line-height: 24px;
  text-align: left;
  width: 99%;
  font-weight: 300;
  max-height: 0;
  /* Set max-height to 0 so it's hidden */
  overflow: hidden;
  /* Prevent content from being visible */
  opacity: 0;
  /* Make it invisible */
  transition: max-height 0.3s ease-in-out, opacity 0.3s ease-in-out, padding 0.3s ease-in-out;
}
@media screen and (max-width: 450px) {
  .coverage-section__details {
    width: 90%;
  }
}
.coverage-section--expanded .coverage-section__details {
  max-height: 500px;
  /* Expand smoothly */
  opacity: 1;
  /* Make it visible */
  padding: 20px 25px;
  /* Restore padding */
  max-width: 96%;
}
.coverage-section--optional {
  /* go into the columns BEM blockâ€¦ */
}
.coverage-section--optional__columns {
  /* target each column in that section */
}
.coverage-section--optional__columns .column {
  /* center the number or percent line */
  /* center both single and grouped labels */
}
.coverage-section--optional__columns .column .amount-item {
  text-align: center;
}
.coverage-section--optional__columns .column .numbers {
  text-align: center;
}
.coverage-section--optional__columns .column .limit-text,
.coverage-section--optional__columns .column .limit-text-group .limit-text {
  text-align: center;
}
/* BLOCK: Coverage Column */
.coverage-column {
  flex: 1;
  text-align: center;
  padding: 10px;
}
/* BLOCK: Numbers */
.coverage-number {
  font-size: 22px;
  font-weight: bold;
  padding: 10px 0;
  color: #20252B;
  /* MODIFIER: Larger Number */
  /* ELEMENT: Superscript for currency and percentages */
  /* ELEMENT: Checkmark icon */
}
.coverage-number--big {
  font-size: 24px;
}
.coverage-number__sup {
  font-size: 14px;
  vertical-align: super;
}
.coverage-number__icon {
  color: green;
  font-size: 24px;
}
/* BLOCK: Limit Text */
.coverage-limit {
  font-size: 14px;
  color: #757575;
  margin-top: 5px;
}
/* Utility Classes */
.u-margin-top-20 {
  margin-top: 20px;
}
.u-margin-top-50 {
  margin-top: 50px;
}
.add-to-plan-btn {
  background: none;
  border: none;
  font-size: 16px;
  font-weight: bold;
  color: #C21B17;
  cursor: pointer;
  text-transform: uppercase;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 8px 0;
  margin: 8px auto 0;
}
.add-to-plan-btn span {
  font-size: 20px;
  font-weight: 400;
}
.add-to-plan-btn:hover {
  text-decoration: underline;
}
.coverage-status {
  background-color: #757575;
  color: #FFFFFF;
  padding: 4px 12px;
  border-radius: 24px;
  font-weight: bold;
  font-size: 12px;
  text-transform: uppercase;
  display: inline-block;
}
/* Only center cells inside the Optional Coverages block */
.coverage-table--optional .coverage-section__columns .column {
  /* center the main value */
  /* ensure each amount-item is centered too */
  /* center any label under it */
  /* if you also have grouped labels */
}
.coverage-table--optional .coverage-section__columns .column .numbers {
  text-align: center;
  margin: 0 auto;
}
.coverage-table--optional .coverage-section__columns .column .amount-item {
  text-align: center;
}
.coverage-table--optional .coverage-section__columns .column .limit-text {
  text-align: center;
}
.coverage-table--optional .coverage-section__columns .column .limit-text-group .limit-text {
  text-align: center;
}
.coverage-table__header-subrow {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  width: 100%;
  flex-wrap: wrap;
  margin-bottom: 12px;
}
@media screen and (max-width: 450px) {
  .coverage-table__header-subrow {
    margin-bottom: 0;
  }
}
.coverage-table__header-subrow-left {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  min-width: 0;
}
.coverage-table__header-subrow-right {
  margin-left: auto;
  display: flex;
  align-items: center;
  flex: 0 0 auto;
}
.coverage-table__disclosure-link {
  font-weight: bold;
  text-decoration: underline;
  color: #333;
  cursor: pointer;
}
.coverage-table__disclosure-link:hover {
  text-decoration: none;
}
.addable-cell {
  background-color: #F6F6F6;
}
@media screen and (max-width: 450px) {
  .addable-cell {
    background-color: transparent;
  }
}
/* keep borders/padding inside the math */
.coverage-section__wrapper,
.coverage-section__title,
.coverage-section__columns,
.coverage-section__columns .column {
  box-sizing: border-box;
}
/* 25% title + 75% columns */
.coverage-section__title {
  width: 25%;
  border-right: 24px solid #EBEBEB;
  /* thick bar aligns with header */
}
.coverage-section__columns {
  width: 75%;
  justify-content: flex-start;
  gap: 0;
}
/* each cell is exactly a third of the 75% block */
.coverage-section__columns .column {
  flex: 0 0 33.3333%;
  max-width: 33.3333%;
  width: auto;
  /* override earlier width:33% */
  border-right: 0;
  /* no accumulating rights */
  padding: 20px 20px;
  /* trim if you still see squeeze */
}
/* thin dividers at 50% and 75% */
.coverage-section__columns .column + .column {
  border-left: 1px solid #EBEBEB;
}
/* center numbers and pills in every column */
.coverage-section__columns .column .numbers {
  text-align: center;
}
/* Plan Documents trigger button */
.plan-documents-trigger {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: transparent;
  border: none;
  padding: 0;
  margin: 0;
  color: #20252B;
  font-family: 'Roboto', "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 16px;
  font-weight: 700;
  line-height: 24px;
  cursor: pointer;
}
.plan-documents-trigger__icon {
  width: 24px;
  height: 24px;
  flex: 0 0 auto;
}
.plan-documents-trigger__text {
  white-space: nowrap;
  font-size: 14px;
  font-weight: 500;
  border-bottom: 1px solid;
}
/* Plan Selection */
.plan-selection {
  display: flex;
  justify-content: space-between;
  background-color: #F6F6F6;
  font-family: 'Roboto', "Helvetica Neue", Helvetica, Arial, sans-serif;
  text-align: left;
  height: auto;
}
.plan-selection.sticky {
  position: sticky;
  top: 100px;
  z-index: 10;
}
.plan-selection.sticky--gti {
  top: 171.3px;
}
.plan-selection__option {
  flex: 1;
  text-align: center;
  padding: 15px 40px;
  border-right: 2px solid #EBEBEB;
  /* ← NEW: make each card a column flexbox */
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 450px) {
  .plan-selection__option {
    padding: 15px;
  }
}
.plan-selection__option:first-child {
  border-right: 24px solid #EBEBEB;
  width: 25%;
  background-size: auto;
  background-repeat: no-repeat;
  background-position: center;
}
@media screen and (max-width: 450px) {
  .plan-selection__option:first-child {
    display: none;
  }
}
.plan-selection__option:last-child {
  border-right: none;
}
.plan-selection__title {
  font-size: 24px;
  font-weight: 500 !important;
  line-height: 32px;
  color: #20252B;
  margin: 25px 0 5px;
  text-align: left;
}
.plan-selection__link {
  font-size: 14px;
  color: #20252B;
  line-height: 16px;
  text-decoration: underline;
  cursor: pointer;
  margin: 0 0 8px;
  text-align: left;
  border: none;
  background-color: transparent;
}
.plan-selection__price-wrapper {
  margin-top: 20px;
}
.plan-selection__price-label {
  font-size: 14px;
  color: #20252B;
  font-weight: 400;
  margin: 0 0 4px;
  text-align: left;
}
.plan-selection__price-row {
  display: flex;
  align-items: center;
  gap: 40px;
  justify-content: flex-start;
}
.plan-selection__price {
  font-size: 24px;
  font-weight: 500;
  line-height: 32px;
  color: #20252B;
  margin: 0;
}
.plan-selection__buy-btn {
  border: 1px solid #C21B17;
  border-radius: 4px;
  background: #C21B17;
  color: #FFFFFF;
  font-weight: bold;
  padding: 6px 16px;
  font-size: 14px;
  cursor: pointer;
  text-transform: uppercase;
}
.plan-selection__buy-btn:hover {
  border: 1px solid #82120F;
  background-color: #82120F;
}
@media screen and (max-width: 450px) {
  .plan-selection {
    height: auto;
    padding: 0;
  }
  .plan-selection__option {
    padding: 12px 4px;
    border-right: 1px solid #EBEBEB;
  }
  .plan-selection__option:first-child {
    display: none;
  }
  .plan-selection__option:last-child {
    border-right: none;
  }
  .plan-selection__title {
    font-size: 14px;
    margin-bottom: 2px;
    font-weight: 500;
  }
  .plan-selection__link {
    font-size: 12px;
    margin-bottom: 6px;
    line-height: 1.2;
  }
  .plan-selection__price-wrapper {
    margin-top: 60px;
  }
  .plan-selection__price-label {
    font-size: 11px;
    margin-bottom: 2px;
  }
  .plan-selection__price-row {
    gap: 6px;
  }
  .plan-selection__price {
    font-size: 1.1rem;
  }
  .plan-selection__buy-btn {
    font-size: 11px;
    padding: 4px 10px;
  }
}
.important-disclosures {
  display: flex;
  justify-content: center;
}
h1.choose-a-plan-header {
  padding-top: 30px;
}
.share-quote-row {
  display: flex;
  justify-content: end;
  padding-top: 20px;
  gap: 40px;
  margin-bottom: 20px;
}
.share-quote-row--gti {
  justify-content: flex-start;
  width: 100%;
  margin-bottom: initial;
  padding-top: initial;
  align-items: center;
}
.share-quote-row__share-button,
.share-quote-row__start-button {
  background: none;
  border: none;
  font-size: 14px;
  font-weight: bold;
  color: #C21B17;
  cursor: pointer;
  text-transform: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0;
}
.share-quote-row__share-button span,
.share-quote-row__start-button span {
  color: #C21B17;
  font-size: 14px;
  font-weight: bold;
  border-bottom: 2px solid #C21B17;
  padding-bottom: 2px;
}
.share-quote-row__share-button:hover span,
.share-quote-row__start-button:hover span {
  border-bottom: none;
}
.share-quote-row__share-button img,
.share-quote-row__start-button img {
  stroke: #C21B17;
  width: 20px;
  height: 20px;
}
/* Purchase + Share Row */
.plan-purchase-row {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  padding: 0;
  background-color: #FFFFFF;
}
.plan-purchase-row__share {
  flex: 1;
  max-width: 25%;
  padding: 24px 18px 24px 20px;
  border-right: 24px solid #EBEBEB;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
}
@media screen and (max-width: 450px) {
  .plan-purchase-row__share {
    display: none;
  }
}
.plan-purchase-row__share-button {
  background: none;
  border: none;
  font-size: 14px;
  font-weight: bold;
  color: #C21B17;
  cursor: pointer;
  text-transform: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0;
}
.plan-purchase-row__share-button span {
  color: #C21B17;
  font-size: 14px;
  font-weight: bold;
  border-bottom: 2px solid #C21B17;
  padding-bottom: 2px;
}
.plan-purchase-row__share-button:hover span {
  border-bottom: none;
}
.plan-purchase-row__share-button svg {
  stroke: #C21B17;
}
.plan-purchase-row__option {
  flex: 1;
  text-align: center;
  padding: 24px 20px;
  width: 25%;
  max-width: 25%;
}
.plan-purchase-row__option:last-child {
  border-right: none;
}
.plan-purchase-row__price {
  font-size: 24px;
  font-weight: 500;
  font-family: 'Roboto', "Helvetica Neue", Helvetica, Arial, sans-serif;
  color: #20252B;
  margin-bottom: 12px;
}
.plan-purchase-row__buy-btn {
  background-color: #C21B17;
  color: #FFFFFF;
  border: 1px solid #C21B17;
  border-radius: 4px;
  padding: 10px 24px;
  font-weight: bold;
  font-size: 14px;
  text-transform: uppercase;
  cursor: pointer;
}
.plan-purchase-row__buy-btn:hover {
  background-color: #82120F;
  color: #FFFFFF;
}
/* keep padding/borders inside the 25% math */
.plan-selection,
.plan-selection__option {
  box-sizing: border-box;
}
/* no gaps injected between columns */
.plan-selection {
  justify-content: flex-start;
  gap: 0;
}
/* every card is exactly 25% */
.plan-selection__option {
  flex: 0 0 25%;
  max-width: 25%;
  border-right: 0;
  /* we'll draw dividers consistently */
  padding: 15px 32px;
  /* was 15px 40px to ease tight fits */
}
/* thick divider after the left gutter column (matches body title) */
.plan-selection__option:first-child {
  border-right: 24px solid #EBEBEB;
}
/* thin dividers between the three plan columns */
.plan-selection__option + .plan-selection__option {
  border-left: 1px solid #EBEBEB;
}
/* keep none on the very last edge */
.plan-selection__option:last-child {
  border-right: none;
}
/* Make widths include padding/borders so math stays exact */
.plan-purchase-row,
.plan-purchase-row__share,
.plan-purchase-row__option {
  box-sizing: border-box;
}
/* No injected gaps; align tracks to header */
.plan-purchase-row {
  justify-content: flex-start;
  gap: 0;
  padding-left: 0;
  /* keep if your parent already handles page padding */
  padding-right: 0;
}
/* LEFT gutter (Share) = 25% with the thick divider that matches header/body */
.plan-purchase-row__share {
  flex: 0 0 25%;
  max-width: 25%;
  border-right: 24px solid #EBEBEB;
  padding: 24px 20px 24px 20px;
  /* keep symmetric; avoid shifting tracks */
}
/* THREE plan columns = exact thirds of the remaining 75% */
.plan-purchase-row__option {
  flex: 0 0 25%;
  max-width: 25%;
  width: auto;
  /* override any previous width */
  border-right: 0;
  /* avoid adding width with rights */
  padding: 24px 20px;
}
/* Thin 1px dividers between the plan columns (50% and 75%) */
.plan-purchase-row__share + .plan-purchase-row__option {
  border-left: 1px solid #EBEBEB;
  /* first plan column */
}
.plan-purchase-row__option + .plan-purchase-row__option {
  border-left: 1px solid #EBEBEB;
  /* second & third plan columns */
}
/* No extra border on the very last edge */
.plan-purchase-row__option:last-child {
  border-right: none;
}
p.chooseaplan__rentalcar__content {
  margin-top: 0;
}
.chooseaplan__rentalcar {
  background-color: #FFFFFF;
  font-family: 'Roboto', "Helvetica Neue", Helvetica, Arial, sans-serif;
  width: 483px;
  max-width: calc(100% - 48px);
  box-sizing: border-box;
  padding: 0 24px 24px;
  margin: 0 auto;
  font-size: 20px;
  font-weight: 200;
}
@media screen and (max-width: 450px) {
  .chooseaplan__rentalcar {
    max-width: 100%;
    padding: 16px;
  }
}
.chooseaplan__rentalcar__wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media screen and (max-width: 450px) {
  .chooseaplan__rentalcar__wrapper {
    flex-direction: column-reverse;
  }
}
.chooseaplan__rentalcar__wrapper img {
  width: 110px;
}
.chooseaplan__rentalcar__heading {
  font-size: 38px;
  line-height: 47.5px;
  text-align: center;
  margin: 0 0 40px;
  font-style: normal;
}
@media screen and (max-width: 450px) {
  .chooseaplan__rentalcar__heading {
    font-size: 38px;
    padding: 10px 0 0 0;
    margin-bottom: 24px;
    line-height: 35px;
  }
}
.chooseaplan__rentalcar__content {
  font-size: 28px;
  text-align: left;
  padding: 0 0 24px 0;
}
@media screen and (max-width: 768px) {
  .chooseaplan__rentalcar__content {
    padding: 24px 0 24px 0;
  }
}
.chooseaplan__rentalcar__content:nth-child(2) {
  margin-bottom: 0;
}
.chooseaplan__rentalcar__disclaimer {
  text-align: center;
  font-size: 16px;
  font-style: italic;
  padding: 0 0 20px 0;
  margin: 20px;
}
.chooseaplan__rentalcar__infotext {
  color: #6c9ca0;
  background-color: #72cdb933;
  font-weight: 500;
  font-size: 20px;
  padding: 20px;
  display: flex;
  text-align: left;
  margin: 20px 0;
}
.chooseaplan__rentalcar__infotext img {
  display: flex;
  padding-right: 20px;
}
.chooseaplan__rentalcar__coverage {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 16px 40px;
  margin-bottom: 32px;
  font-family: 'Roboto', "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 20px;
  line-height: 24px;
  color: #20252B;
}
.chooseaplan__rentalcar__coverage > div {
  display: flex;
  flex-direction: column;
  gap: 8px;
  text-align: left;
}
.chooseaplan__rentalcar__coverage span {
  display: inline-block;
  position: relative;
  padding-left: 24px;
}
.chooseaplan__rentalcar__coverage span::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  background-image: url("data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3c!--%20Generator:%20Adobe%20Illustrator%2026.3.1,%20SVG%20Export%20Plug-In%20.%20SVG%20Version:%206.00%20Build%200)%20--%3e%3csvg%20version='1.1'%20id='Layer_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20x='0px'%20y='0px'%20viewBox='0%200%2024%2024'%20style='enable-background:new%200%200%2024%2024;'%20xml:space='preserve'%3e%3cstyle%20type='text/css'%3e%20.st0{fill-rule:evenodd;clip-rule:evenodd;}%20%3c/style%3e%3cpath%20class='st0'%20d='M17.2,6.3c0.4-0.4,1-0.5,1.4-0.1c0.4,0.3,0.4,0.9,0.2,1.3l-0.1,0.1l-8.4,9.6c-0.4,0.4-1,0.5-1.4,0.1l-0.1-0.1%20l-3.6-3.6c-0.4-0.4-0.4-1,0-1.4c0.4-0.4,0.9-0.4,1.3-0.1l0.1,0.1l2.8,2.8L17.2,6.3z'/%3e%3c/svg%3e");
  background-size: contain;
  background-repeat: no-repeat;
}
@media (max-width: 420px) {
  .chooseaplan__rentalcar__coverage {
    justify-content: flex-start;
    gap: 8px 24px;
  }
  .chooseaplan__rentalcar__coverage > div {
    gap: 4px;
  }
  .chooseaplan__rentalcar__coverage span {
    font-size: 16px;
  }
}
.chooseaplan__rentalcar__dtp-input {
  width: 100%;
  display: flex;
  justify-content: space-between;
  gap: 20px;
}
@media (max-width: 450px) {
  .chooseaplan__rentalcar__dtp-input {
    flex-direction: row;
    justify-content: space-between;
    width: 95%;
    gap: 12px;
    margin-top: auto;
    margin-bottom: 24px;
  }
}
.chooseaplan__rentalcar__dtp-input .react-datepicker-wrapper {
  max-width: 200px;
  max-height: 56px;
  flex: 1 1 0;
  min-width: 0;
}
@media (max-width: 450px) {
  .chooseaplan__rentalcar__dtp-input .react-datepicker-wrapper {
    max-width: none;
  }
}
.chooseaplan__rentalcar__dtp-input .react-datepicker {
  margin-top: 24px !important;
  border: 1px solid #EBEBEB;
  color: #20252B;
  white-space: nowrap;
  pointer-events: auto;
}
@media screen and (max-width: 450px) {
  .chooseaplan__rentalcar__dtp-input .react-datepicker__input-container {
    width: 100%;
  }
}
.chooseaplan__rentalcar__dtp-input .react-datepicker__input-container input {
  width: 100%;
  min-height: 56px;
  min-width: 180px;
  padding-left: 10px;
  font-size: 16px;
  cursor: pointer;
  box-sizing: border-box;
}
@media screen and (max-width: 450px) {
  .chooseaplan__rentalcar__dtp-input .react-datepicker__input-container input {
    min-width: 0;
    width: 100%;
    max-width: 100%;
    border-radius: 4px;
    border: 1px solid var(----color-gray-300, #CCC);
    background: var(----color-white, #FFF);
  }
}
.chooseaplan__rentalcar__dtp-input .react-datepicker .react-datepicker__month-container {
  padding: 16px;
  display: inline-block;
  vertical-align: top;
}
.chooseaplan__rentalcar__dtp-input .react-datepicker .react-datepicker__header {
  padding: 0;
  border-bottom: 1px solid #EBEBEB;
  background-color: #FFFFFF;
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  text-align: center;
  font-family: 'Roboto', "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.chooseaplan__rentalcar__dtp-input .react-datepicker .react-datepicker__header .react-datepicker__current-month,
.chooseaplan__rentalcar__dtp-input .react-datepicker .react-datepicker__header h2 {
  font-size: 16px;
}
.chooseaplan__rentalcar__dtp-input .react-datepicker h2.react-datepicker__current-month {
  font-size: 16px;
  line-height: 20px;
  text-transform: uppercase;
  font-weight: 700;
  font-family: 'Roboto', "Helvetica Neue", Helvetica, Arial, sans-serif;
  margin-block-end: 24px;
  text-align: center;
}
.chooseaplan__rentalcar__dtp-input .react-datepicker .react-datepicker__day-names {
  margin-bottom: 0;
}
.chooseaplan__rentalcar__dtp-input .react-datepicker .react-datepicker__navigation {
  top: 12px;
}
.chooseaplan__rentalcar__dtp-input .react-datepicker .react-datepicker__year-read-view--down-arrow,
.chooseaplan__rentalcar__dtp-input .react-datepicker .react-datepicker__month-read-view--down-arrow,
.chooseaplan__rentalcar__dtp-input .react-datepicker .react-datepicker__month-year-read-view--down-arrow,
.chooseaplan__rentalcar__dtp-input .react-datepicker .react-datepicker__navigation-icon::before {
  border-color: #C21B17;
}
.chooseaplan__rentalcar__dtp-input .react-datepicker .react-datepicker__day,
.chooseaplan__rentalcar__dtp-input .react-datepicker .react-datepicker__day-name {
  cursor: pointer;
}
.chooseaplan__rentalcar__dtp-input .react-datepicker .react-datepicker__day:not([aria-disabled="true"]):hover,
.chooseaplan__rentalcar__dtp-input .react-datepicker .react-datepicker__day--in-selecting-range:not(
            .react-datepicker__day--in-range,
            .react-datepicker__month-text--in-range,
            .react-datepicker__quarter-text--in-range,
            .react-datepicker__year-text--in-range
          ) {
  background-color: #C21B17;
  border-radius: 16px;
  color: #FFFFFF;
}
.chooseaplan__rentalcar__dtp-input .react-datepicker .react-datepicker__day--selected:not([aria-disabled="true"]):hover,
.chooseaplan__rentalcar__dtp-input .react-datepicker .react-datepicker__day--in-selecting-range:not(
            [aria-disabled="true"]
          ):hover,
.chooseaplan__rentalcar__dtp-input .react-datepicker .react-datepicker__day--selected {
  background-color: #C21B17;
  border-radius: 16px;
}
.chooseaplan__rentalcar__dtp-input .react-datepicker .react-datepicker__day--in-range {
  background-color: #C21B17;
  border-radius: 16px;
}
.chooseaplan__rentalcar__dtp-input .react-datepicker .react-datepicker__day--today {
  background-color: #FFFFFF;
  color: #20252B;
  border-color: #6F7072;
  border-radius: 16px;
}
.chooseaplan__rentalcar__validation-message {
  margin-top: 1rem;
  margin-bottom: 0;
  padding: 0.25rem;
  background-color: #f8d7da;
  color: #721c24;
  border: 1px solid #f5c6cb;
  border-radius: 4px;
  font-size: 14px;
  text-align: center;
}
.chooseaplan__rentalcar__validation-message p {
  margin: 0;
}
.chooseaplan__rentalcar__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 20px auto;
  text-align: center;
  padding: 20px 50px;
  background-color: #C21B17;
  color: #FFFFFF;
  font-weight: bold;
  border: none;
  border-radius: 4px;
  line-height: 20px;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-size: 16px;
}
.chooseaplan__rentalcar__btn:disabled {
  background-color: #6f7072;
  border: 1px solid #6f7072;
  color: #ffffff;
  cursor: not-allowed;
}
.chooseaplan__rentalcar__btn svg {
  margin-right: 10px;
}
.chooseaplan .d-none {
  display: none;
}
/* Make sure the calendar is clickable above modal scrolling content */
.chooseaplan__datepicker-popper--departure,
.chooseaplan__datepicker-popper--return,
.react-datepicker-popper {
  z-index: 11001 !important;
  pointer-events: auto !important;
}
.d-none {
  display: none;
}
.chooseaplan__add {
  background-color: #FFFFFF;
  font-family: 'Roboto', "Helvetica Neue", Helvetica, Arial, sans-serif;
  width: 483px;
  padding: 100px 50px 50px 50px;
  font-size: 20px;
  font-weight: 200;
  margin: 0 auto;
}
@media screen and (max-width: 450px) {
  .chooseaplan__add {
    width: 95%;
    padding: 10px;
  }
}
.chooseaplan__add__wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media screen and (max-width: 450px) {
  .chooseaplan__add__wrapper {
    flex-direction: column-reverse;
  }
}
.chooseaplan__add__wrapper img {
  width: 110px;
}
.chooseaplan__add__heading {
  font-size: 32px;
  font-weight: 200;
  line-height: 40px;
  text-align: center;
  padding: 20px 50px 0;
  margin: 0 0 24px;
}
@media screen and (max-width: 450px) {
  .chooseaplan__add__heading {
    padding: 0;
  }
}
.chooseaplan__add__content {
  text-align: left;
  margin: 0 0 24px;
}
.chooseaplan__add__infotext {
  color: #6c9ca0;
  background-color: #72cdb933;
  font-weight: 500;
  font-size: 20px;
  padding: 20px;
  display: flex;
  text-align: left;
  margin-bottom: 40px;
}
.chooseaplan__add__infotext img {
  display: flex;
  padding-right: 20px;
}
.chooseaplan__add__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  text-align: center;
  padding: 20px 50px;
  background-color: #C21B17;
  color: #FFFFFF;
  font-weight: bold;
  border: none;
  border-radius: 4px;
  line-height: 20px;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-size: 16px;
}
.chooseaplan__add__btn svg {
  margin-right: 10px;
}
.chooseaplan__cfar {
  background-color: #FFFFFF;
  font-family: 'Roboto', "Helvetica Neue", Helvetica, Arial, sans-serif;
  width: 842px;
  padding: 100px;
  font-size: 20px;
  font-weight: 200;
  display: flex;
  flex-direction: row;
}
@media screen and (max-width: 450px) {
  .chooseaplan__cfar {
    width: 95%;
    padding: 10px;
    flex-direction: column;
  }
}
.chooseaplan__cfar__details {
  width: 55%;
}
@media screen and (max-width: 450px) {
  .chooseaplan__cfar__details {
    width: 100%;
  }
}
.chooseaplan__cfar__wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media screen and (max-width: 450px) {
  .chooseaplan__cfar__wrapper {
    flex-direction: column-reverse;
  }
}
.chooseaplan__cfar__wrapper img {
  width: 110px;
}
.chooseaplan__cfar__heading {
  font-size: 32px;
  font-weight: 200;
  line-height: 40px;
  text-align: center;
  padding: 0 50px;
  margin-bottom: 40px;
}
@media screen and (max-width: 450px) {
  .chooseaplan__cfar__heading {
    padding: 0;
    margin: 0 0 24px;
    font-size: 28px;
    line-height: 35px;
  }
}
.chooseaplan__cfar__content {
  text-align: left;
  padding: 0 0 20px 0;
  margin: 0;
}
.chooseaplan__cfar__disclaimer {
  text-align: center;
  font-size: 16px;
  font-style: italic;
  padding: 0 0 20px 0;
  margin: 20px 0 0;
}
.chooseaplan__cfar__link {
  background: none;
  border: none;
  font-size: 16px;
  font-weight: 300;
  color: #C21B17;
  cursor: pointer;
  text-transform: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0;
}
.chooseaplan__cfar__text {
  border: 2px solid #b6abc9;
  color: #20252B;
  border-radius: 4px;
  background-color: #b6abc94d;
  font-weight: 200;
  font-size: 20px;
  padding: 20px;
  display: flex;
  text-align: left;
  margin-bottom: 24px;
}
.chooseaplan__cfar__infotext {
  color: #6c9ca0;
  border-radius: 4px;
  background-color: #72cdb933;
  font-weight: 500;
  font-size: 20px;
  padding: 20px;
  display: flex;
  text-align: left;
  margin-bottom: 24px;
}
.chooseaplan__cfar__infotext img {
  display: flex;
  padding-right: 20px;
}
.chooseaplan__cfar__date-CTA {
  width: 100%;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}
@media screen and (max-width: 450px) {
  .chooseaplan__cfar__date-CTA {
    flex-direction: column;
    gap: 30px;
  }
}
@media screen and (max-width: 768px) {
  .chooseaplan__cfar__date-CTA .react-datepicker-wrapper {
    width: 100%;
  }
}
.chooseaplan__cfar__date-CTA .react-datepicker {
  margin-top: 24px !important;
  border: 1px solid #EBEBEB;
  color: #20252B;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .chooseaplan__cfar__date-CTA .react-datepicker__input-container {
    width: 100%;
  }
}
.chooseaplan__cfar__date-CTA .react-datepicker__input-container input {
  min-height: 56px;
  max-width: 180px;
  padding-left: 10px;
  font-size: 16px;
  border-radius: 4px;
  border: 1px solid var(----color-gray-300, #ccc);
  background: var(----color-white, #fff);
}
@media screen and (max-width: 768px) {
  .chooseaplan__cfar__date-CTA .react-datepicker__input-container input {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
  }
}
.chooseaplan__cfar__date-CTA .react-datepicker .react-datepicker__month-container {
  padding: 16px;
  display: inline-block;
  vertical-align: top;
}
.chooseaplan__cfar__date-CTA .react-datepicker .react-datepicker__header {
  padding: 0;
  border-bottom: 1px solid #EBEBEB;
}
.chooseaplan__cfar__date-CTA .react-datepicker h2.react-datepicker__current-month {
  font-size: 16px;
  line-height: 20px;
  text-transform: uppercase;
  font-weight: 700;
  font-family: 'Roboto', "Helvetica Neue", Helvetica, Arial, sans-serif;
  margin-block-end: 24px;
  text-align: center;
}
.chooseaplan__cfar__date-CTA .react-datepicker .react-datepicker__day-names {
  margin-bottom: 0;
}
.chooseaplan__cfar__date-CTA .react-datepicker .react-datepicker__navigation {
  top: 12px;
}
.chooseaplan__cfar__date-CTA .react-datepicker .react-datepicker__year-read-view--down-arrow,
.chooseaplan__cfar__date-CTA .react-datepicker .react-datepicker__month-read-view--down-arrow,
.chooseaplan__cfar__date-CTA .react-datepicker .react-datepicker__month-year-read-view--down-arrow,
.chooseaplan__cfar__date-CTA .react-datepicker .react-datepicker__navigation-icon::before {
  border-color: #C21B17;
}
.chooseaplan__cfar__date-CTA .react-datepicker .react-datepicker__header {
  background-color: #FFFFFF;
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  text-align: center;
  font-family: 'Roboto', "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.chooseaplan__cfar__date-CTA .react-datepicker .react-datepicker__header .react-datepicker__current-month,
.chooseaplan__cfar__date-CTA .react-datepicker .react-datepicker__header h2 {
  font-size: 16px;
}
.chooseaplan__cfar__date-CTA .react-datepicker .react-datepicker__day:not([aria-disabled="true"]):hover,
.chooseaplan__cfar__date-CTA .react-datepicker .react-datepicker__day--in-selecting-range:not(
            .react-datepicker__day--in-range,
            .react-datepicker__month-text--in-range,
            .react-datepicker__quarter-text--in-range,
            .react-datepicker__year-text--in-range
          ) {
  background-color: #C21B17;
  border-radius: 16px;
  color: #FFFFFF;
}
.chooseaplan__cfar__date-CTA .react-datepicker .react-datepicker__day--selected:not([aria-disabled="true"]):hover,
.chooseaplan__cfar__date-CTA .react-datepicker .react-datepicker__day--in-selecting-range:not(
            [aria-disabled="true"]
          ):hover,
.chooseaplan__cfar__date-CTA .react-datepicker .react-datepicker__day--selected {
  background-color: #C21B17;
  border-radius: 16px;
}
.chooseaplan__cfar__date-CTA .react-datepicker .react-datepicker__day--in-range {
  background-color: #C21B17;
  border-radius: 16px;
}
.chooseaplan__cfar__date-CTA .react-datepicker .react-datepicker__day--today {
  background-color: #FFFFFF;
  color: #20252B;
  border-color: #6F7072;
  border-radius: 16px;
}
.chooseaplan__cfar__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 20px 50px;
  background-color: #C21B17;
  color: #FFFFFF;
  font-weight: bold;
  border: none;
  border-radius: 4px;
  line-height: 20px;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-size: 16px;
}
.chooseaplan__cfar__btn:disabled {
  background-color: #6f7072;
  border: 1px solid #6f7072;
  color: #ffffff;
  cursor: not-allowed;
}
.chooseaplan__cfar__btn svg {
  margin-right: 10px;
}
.chooseaplan__cfar__criteria {
  padding-left: 40px;
  width: 36%;
}
@media screen and (max-width: 450px) {
  .chooseaplan__cfar__criteria {
    width: 95%;
    padding: 50px 0 0 0;
  }
}
.chooseaplan__cfar__criteria__heading {
  text-align: left;
  padding: 0;
  font-size: 32px;
  font-weight: 200;
  line-height: 40px;
  margin: 0;
}
@media screen and (max-width: 450px) {
  .chooseaplan__cfar__criteria__heading {
    text-align: center;
  }
}
.chooseaplan__cfar__criteria ul {
  text-align: left;
}
.chooseaplan__cfar__criteria ul li {
  padding-bottom: 20px;
}
.chooseaplan__cfar__criteria ul li::marker {
  color: #C21B17;
}
/* CFAR datepicker must be clickable above modal */
.chooseaplan__datepicker-popper--departure,
.react-datepicker-popper {
  z-index: 11001 !important;
  pointer-events: auto !important;
}
.plan-documents-modal .plan-documents-modal__content {
  padding: 24px;
}
.plan-documents-modal .plan-documents-modal__header {
  padding: 0 0 24px;
  text-align: center;
}
.plan-documents-modal .plan-documents-modal__title {
  margin: 0;
  color: #20252B;
  font-family: Roboto, sans-serif;
  font-size: 38px;
  font-style: normal;
  font-weight: 300;
  line-height: 47.5px;
  text-transform: capitalize;
  text-align: center;
}
.plan-documents-modal .plan-documents-modal__subtitle {
  margin: 8px 0 0;
  color: #20252B;
  opacity: 0.8;
}
.plan-documents-modal .plan-documents-modal__sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.plan-documents-modal .plan-documents-modal__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 48px;
  padding: 0 48px;
}
@media (max-width: 900px) {
  .plan-documents-modal .plan-documents-modal__grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }
}
.plan-documents-modal .plan-documents-modal__card {
  display: flex;
  align-items: stretch;
  flex-direction: column;
  gap: 16px;
  width: 262px;
  max-width: 100%;
  border: none;
  border-radius: 0;
  padding: 0;
}
@media (min-width: 901px) {
  .plan-documents-modal .plan-documents-modal__card {
    width: auto;
  }
}
.plan-documents-modal .plan-documents-modal__card-title {
  margin: 0;
  color: #20252B;
  font-family: Roboto, sans-serif;
  font-size: 20px;
  font-weight: 500;
  line-height: 28px;
}
.plan-documents-modal .plan-documents-modal__redline {
  margin-left: 38px;
  width: 64px;
  height: 1px;
  background: #C21B17;
}
.plan-documents-modal .plan-documents-modal__tagline {
  margin: 0;
  color: #20252B;
  font-family: Roboto, sans-serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 20px;
  letter-spacing: 0.25px;
}
.plan-documents-modal .plan-documents-modal__bullets {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: 100%;
}
.plan-documents-modal .plan-documents-modal__bullets li {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding-left: 16px;
  color: #20252B;
  font-family: Roboto, sans-serif;
  font-size: 16px;
  font-weight: 300;
  line-height: 22px;
}
.plan-documents-modal .plan-documents-modal__bullets li::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  margin-top: 7px;
  background: #C21B17;
  flex: 0 0 auto;
}
.plan-documents-modal .plan-documents-modal__card-head {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 16px;
}
.plan-documents-modal .plan-documents-modal__pdf-btn {
  display: inline-flex;
  height: 28px;
  padding: 8px 16px;
  justify-content: center;
  align-items: center;
  gap: 8px;
  border: none;
  border-radius: 4px;
  background: #20252B;
  color: #fff;
  font-family: Roboto, sans-serif;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
}
.plan-documents-modal .plan-documents-modal__pdf-btn:disabled {
  cursor: not-allowed;
  opacity: 0.55;
}
.plan-documents-modal .plan-documents-modal__pdf-icon {
  display: inline-flex;
  width: 16px;
  height: 16px;
  align-items: center;
  justify-content: center;
  line-height: 1;
}
.plan-documents-modal .plan-documents-modal__pdf-btn {
  color: #fff;
  -webkit-text-fill-color: #fff;
}
.plan-documents-modal .plan-documents-modal__pdf-btn .plan-documents-modal__pdf-icon,
.plan-documents-modal .plan-documents-modal__pdf-btn span {
  color: inherit;
  -webkit-text-fill-color: inherit;
}
.plan-documents-modal .plan-documents-modal__pdf-text {
  font-size: 16px;
  font-weight: 700;
}
.plan-documents-modal .plan-documents-modal__hint {
  margin: 0 0 8px;
  font-size: 13px;
  color: rgba(0, 0, 0, 0.65);
}
.plan-documents-modal .plan-documents-modal__error {
  margin: 10px 0 0;
  font-size: 14px;
  color: #C21B17;
  font-weight: 600;
}
.plan-documents-modal .plan-documents-modal__card-head,
.plan-documents-modal .plan-documents-modal__tagline {
  padding-left: 38px;
}
.quote-infobar {
  font-family: 'Roboto', "Helvetica Neue", Helvetica, Arial, sans-serif;
  color: #6F7072;
  display: flex;
  padding: 16px 156px;
  background-color: #F6F6F6;
  border-bottom: 1px solid #EBEBEB;
  position: fixed;
  top: 114px;
  left: 0;
  right: 0;
  z-index: 1000;
  box-sizing: border-box;
}
.quote-infobar__content {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.quote-infobar__item {
  white-space: nowrap;
  color: #6F7072;
}
.quote-infobar__separator {
  color: #6F7072;
  padding: 0 12px;
}
.quote-infobar__actions {
  display: flex;
  align-items: center;
  gap: 40px;
  margin-left: 24px;
  white-space: nowrap;
}
.quote-infobar__details {
  font-style: normal;
  font-weight: 700;
  line-height: 16px;
  letter-spacing: 1px;
  text-transform: uppercase;
}
.quote-infobar .share-quote-row__start-button span,
.quote-infobar .share-quote-row__share-button span {
  font-size: 16px;
  font-family: 'Roboto', "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-style: normal;
  font-weight: 700;
  line-height: 20px;
  letter-spacing: 1px;
  border-bottom: 2px solid transparent;
  padding-bottom: 0;
}
.quote-infobar .share-quote-row__start-button img,
.quote-infobar .share-quote-row__share-button img {
  width: 24px;
  height: 24px;
}
.quote-infobar .share-quote-row__start-button:hover span,
.quote-infobar .share-quote-row__share-button:hover span {
  border-bottom: 2px solid #82120F;
  color: #82120F;
}
.quote-infobar .share-quote-row__start-button:hover img,
.quote-infobar .share-quote-row__share-button:hover img {
  filter: brightness(0) saturate(100%) invert(13%) sepia(60%) saturate(3793%) hue-rotate(348deg) brightness(85%) contrast(102%);
}
.quote-infobar .sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}
@media (max-width: 991px) {
  .quote-infobar {
    flex-direction: column;
    align-items: flex-start;
    padding: 16px;
  }
  .quote-infobar__content {
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    font-size: 14px;
  }
  .quote-infobar__item {
    font-size: 14px;
  }
  .quote-infobar__actions {
    margin-left: 0;
    margin-top: 12px;
    justify-content: center;
    flex-direction: row;
    gap: 8px;
    width: 100%;
  }
}
.shopper-approved {
  margin: 0 auto;
  width: fit-content;
}
.shopper-approved__link {
  display: flex;
  align-items: center;
  gap: 24px;
  justify-content: flex-end;
  font-size: 14px;
  color: #20252b;
  text-decoration: none;
}
.shopper-approved__link:focus {
  outline: 2px dashed #20252b;
  outline-offset: 2px;
  border-radius: 4px;
}
.shopper-approved__link:focus-visible {
  outline: 2px dashed #20252b;
  outline-offset: 2px;
  border-radius: 4px;
}
.shopper-approved__stars {
  display: flex;
  gap: 4px;
  align-items: center;
}
.shopper-approved__star {
  display: inline-block;
  width: 24px;
  height: 24px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.shopper-approved__star--empty {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M11.708 1.70215C11.7965 1.50916 11.9895 1.45594 12.1465 1.53809C12.2225 1.57793 12.2767 1.6387 12.3037 1.69824L12.3086 1.70898L14.9375 7.27832L14.9385 7.28223C15.2049 7.83954 15.7146 8.23076 16.3154 8.3291L16.3242 8.33008L22.1943 9.22363C22.3658 9.24973 22.5293 9.43561 22.4961 9.67188L22.4951 9.68066C22.4824 9.77847 22.4423 9.84957 22.3955 9.89551L22.3857 9.90527L18.1396 14.2324C17.6919 14.6815 17.5266 15.3045 17.6113 15.8896L17.6123 15.8965L17.6133 15.9043L18.6201 22.0186V22.0195C18.6602 22.2714 18.4965 22.4529 18.3369 22.4805L18.3232 22.4824C18.2811 22.4904 18.2338 22.4883 18.1846 22.4707L18.1348 22.4482L12.8887 19.5605L12.877 19.5537L12.8652 19.5479C12.3164 19.2701 11.6884 19.2651 11.1387 19.5527L11.123 19.5605L5.87695 22.46L5.87598 22.4609C5.75236 22.5295 5.58402 22.51 5.47363 22.3652L5.43066 22.2959C5.38979 22.2134 5.37735 22.116 5.38965 22.0479L5.39062 22.04L5.39258 22.0332L6.38867 15.9023L6.3877 15.9014C6.49116 15.2995 6.29574 14.668 5.86133 14.2324L1.61719 9.90527C1.46316 9.74807 1.46228 9.48316 1.6084 9.32617L1.61328 9.32031L1.61816 9.31543C1.66216 9.26634 1.71988 9.23462 1.79004 9.22461L1.79688 9.22363L7.66699 8.33008H7.66797C8.28861 8.23458 8.0544 7.84649 9.07422 7.28223L9.07617 7.27832L11.7041 1.70898L11.708 1.70215Z' stroke='%23AF2219' stroke-width='1.5'/%3E%3C/svg%3E");
}
.shopper-approved__star--filled {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M11.4805 1.59766C11.6271 1.27812 11.9746 1.16639 12.2617 1.31641C12.3547 1.36504 12.4315 1.43451 12.4854 1.51367L12.5312 1.5957L12.5342 1.60254L15.1631 7.17188L15.1641 7.17383C15.3965 7.66014 15.8389 7.99742 16.3564 8.08203L16.3613 8.08301L22.2324 8.97656C22.5474 9.02463 22.7945 9.34331 22.7432 9.70703L22.7422 9.71289C22.7227 9.86207 22.6599 9.98534 22.5703 10.0732L22.5635 10.0801L18.3174 14.4092C17.9313 14.7963 17.7838 15.3375 17.8584 15.8535L17.8604 15.8633L18.8672 21.9795V21.9805C18.9267 22.3546 18.686 22.6738 18.3789 22.7266L18.3691 22.7285C18.2516 22.7507 18.1287 22.7297 18.0146 22.667H18.0137L12.7676 19.7793L12.7607 19.7754L12.7529 19.7715L12.5703 19.6914C12.1389 19.5316 11.6714 19.5565 11.2549 19.7744L11.2441 19.7793L5.99805 22.6787L5.99707 22.6797C5.72445 22.8308 5.37307 22.7341 5.20801 22.4102C5.14379 22.2824 5.1207 22.1289 5.14355 22.0029L5.14551 21.9932L6.14258 15.8623L6.14062 15.8613C6.23141 15.3379 6.06175 14.7874 5.68457 14.4092L1.4375 10.0801C1.18945 9.82622 1.18981 9.40867 1.42578 9.15527L1.43164 9.14844C1.51563 9.0547 1.62701 8.99575 1.75391 8.97754L1.75879 8.97656L7.62988 8.08301C8.16788 8.00023 8.61403 7.66476 8.84863 7.17383L8.84961 7.17188L11.4785 1.60254L11.4805 1.59766Z' fill='%23C21B17' stroke='%23AF2219' stroke-width='1.5'/%3E%3C/svg%3E");
}
.shopper-approved__star--half {
  position: relative;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M11.708 1.70215C11.7965 1.50916 11.9895 1.45594 12.1465 1.53809C12.2225 1.57793 12.2767 1.6387 12.3037 1.69824L12.3086 1.70898L14.9375 7.27832L14.9385 7.28223C15.2049 7.83954 15.7146 8.23076 16.3154 8.3291L16.3242 8.33008L22.1943 9.22363C22.3658 9.24973 22.5293 9.43561 22.4961 9.67188L22.4951 9.68066C22.4824 9.77847 22.4423 9.84957 22.3955 9.89551L22.3857 9.90527L18.1396 14.2324C17.6919 14.6815 17.5266 15.3045 17.6113 15.8896L17.6123 15.8965L17.6133 15.9043L18.6201 22.0186V22.0195C18.6602 22.2714 18.4965 22.4529 18.3369 22.4805L18.3232 22.4824C18.2811 22.4904 18.2338 22.4883 18.1846 22.4707L18.1348 22.4482L12.8887 19.5605L12.877 19.5537L12.8652 19.5479C12.3164 19.2701 11.6884 19.2651 11.1387 19.5527L11.123 19.5605L5.87695 22.46L5.87598 22.4609C5.75236 22.5295 5.58402 22.51 5.47363 22.3652L5.43066 22.2959C5.38979 22.2134 5.37735 22.116 5.38965 22.0479L5.39062 22.04L5.39258 22.0332L6.38867 15.9023L6.3877 15.9014C6.49116 15.2995 6.29574 14.668 5.86133 14.2324L1.61719 9.90527C1.46316 9.74807 1.46228 9.48316 1.6084 9.32617L1.61328 9.32031L1.61816 9.31543C1.66216 9.26634 1.71988 9.23462 1.79004 9.22461L1.79688 9.22363L7.66699 8.33008H7.66797C8.28861 8.23458 8.0544 7.84649 9.07422 7.28223L9.07617 7.27832L11.7041 1.70898L11.708 1.70215Z' stroke='%23AF2219' stroke-width='1.5'/%3E%3C/svg%3E");
}
.shopper-approved__star--half::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 74%;
  height: 100%;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M11.4805 1.59766C11.6271 1.27812 11.9746 1.16639 12.2617 1.31641C12.3547 1.36504 12.4315 1.43451 12.4854 1.51367L12.5312 1.5957L12.5342 1.60254L15.1631 7.17188L15.1641 7.17383C15.3965 7.66014 15.8389 7.99742 16.3564 8.08203L16.3613 8.08301L22.2324 8.97656C22.5474 9.02463 22.7945 9.34331 22.7432 9.70703L22.7422 9.71289C22.7227 9.86207 22.6599 9.98534 22.5703 10.0732L22.5635 10.0801L18.3174 14.4092C17.9313 14.7963 17.7838 15.3375 17.8584 15.8535L17.8604 15.8633L18.8672 21.9795V21.9805C18.9267 22.3546 18.686 22.6738 18.3789 22.7266L18.3691 22.7285C18.2516 22.7507 18.1287 22.7297 18.0146 22.667H18.0137L12.7676 19.7793L12.7607 19.7754L12.7529 19.7715L12.5703 19.6914C12.1389 19.5316 11.6714 19.5565 11.2549 19.7744L11.2441 19.7793L5.99805 22.6787L5.99707 22.6797C5.72445 22.8308 5.37307 22.7341 5.20801 22.4102C5.14379 22.2824 5.1207 22.1289 5.14355 22.0029L5.14551 21.9932L6.14258 15.8623L6.14062 15.8613C6.23141 15.3379 6.06175 14.7874 5.68457 14.4092L1.4375 10.0801C1.18945 9.82622 1.18981 9.40867 1.42578 9.15527L1.43164 9.14844C1.51563 9.0547 1.62701 8.99575 1.75391 8.97754L1.75879 8.97656L7.62988 8.08301C8.16788 8.00023 8.61403 7.66476 8.84863 7.17383L8.84961 7.17188L11.4785 1.60254L11.4805 1.59766Z' fill='%23C21B17' stroke='%23AF2219' stroke-width='1.5'/%3E%3C/svg%3E");
  background-size: 24px 24px;
  background-repeat: no-repeat;
  background-position: 0 0;
  overflow: hidden;
}
.shopper-approved__rating {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border-bottom: 1px solid #20252B;
}
.shopper-approved__rating:hover {
  border-bottom: 1px solid transparent;
}
.shopper-approved__rating-value,
.shopper-approved__rating-count {
  font-family: 'Roboto', "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: 24px;
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}
/* mobile overrides last */
.chooseaplan-swipe-mobile {
  width: 100%;
  background: #FFFFFF;
  /* AEM navbar height offset (tweak per env if needed) */
  --aem-sticky-offset: 65px;
  /*
    Footer behavior:
    We are temporarily matching the CURRENT mobile footer behavior (QA)
    because swipe footer is pending further redesigns.
  */
  --footer-height: 72px;
  /* allow vertical scroll; we intercept horizontal */
  touch-action: pan-y;
  /* IMPORTANT: do NOT lock the whole component to 100vh */
  overflow: visible;
  /* reserve space so bottom rows aren't covered by fixed footer */
  padding-bottom: 0;
  /* ----------------------------------
     Hide the coverage-section red bars
     ---------------------------------- */
  /* ----------------------------------
      Coverage section row styling (mobile)
     ---------------------------------- */
  /* make caret larger like mock */
  /*  Mobile swipe: tighten expanded details padding */
  /*  Mobile: "$35,000 per person / per plan" */
  /*  Coverage table header padding tweak */
  /* ----------------------------------
     Add-to-plan layout (mobile <=450px)
     ---------------------------------- */
  /*  remove global border-top line on columns */
  /*  Left-align INCLUDED/NOT AVAILABLE pill on mobile */
  /* ----------------------------------
     AEM cq-placeholder injected div
     ---------------------------------- */
  /* ----------------------------------
     FIXED TOP CHROME (header + planbar + red rule)
     NOTE:
     - This stays fixed for normal choose-a-plan mode
     - Compare-only should not use fixed chrome on homepage (handled in TSX)
     ---------------------------------- */
  /* ----------------------------------
     Planbar
     ---------------------------------- */
  /* ----------------------------------
     Swipe viewport + track
     ---------------------------------- */
  /* ----------------------------------
     FIXED FOOTER
     TEMP: match current mobile footer behavior (QA)
     - both buttons left-aligned so chat widget doesn't cover
     ---------------------------------- */
  /* Buy button (red filled) */
  /* QA-style text button */
}
.chooseaplan-swipe-mobile--fixed {
  padding-bottom: calc(var(--footer-height) + 16px);
}
.chooseaplan-swipe-mobile .coverage-table__header-top-bar {
  display: none !important;
}
.chooseaplan-swipe-mobile .coverage-section__title {
  display: flex;
  align-items: flex-start;
  gap: 0;
  padding: 0;
  background: var(----color-white, #fff);
  text-decoration: none;
  line-height: 20px;
}
.chooseaplan-swipe-mobile .coverage-section__title-icon {
  order: 2;
  margin-left: auto;
  flex: 0 0 auto;
  padding-left: 12px;
  display: flex;
}
.chooseaplan-swipe-mobile .coverage-section__title-icon img {
  height: 40px;
  width: 40px;
  display: block;
}
.chooseaplan-swipe-mobile .coverage-section__title-text {
  order: 1;
  flex: 1 1 auto;
  min-width: 0;
  gap: 0;
}
.chooseaplan-swipe-mobile .coverage-section__title-subtitle {
  font-style: normal;
  font-size: 12px;
}
.chooseaplan-swipe-mobile .coverage-section__title-subtitle,
.chooseaplan-swipe-mobile .coverage-table__header-subtitle {
  text-decoration: none !important;
  border-bottom: none !important;
  box-shadow: none !important;
  background: transparent !important;
}
.chooseaplan-swipe-mobile .coverage-section__title-subrow {
  border-bottom: none !important;
  text-decoration: none !important;
}
.chooseaplan-swipe-mobile .coverage-section__details {
  text-decoration: none;
  border-bottom: none;
}
.chooseaplan-swipe-mobile .coverage-section--expanded .coverage-section__details {
  padding: 0 10px;
}
.chooseaplan-swipe-mobile .coverage-section__disclosure-link {
  text-decoration: none;
}
.chooseaplan-swipe-mobile .numbers-mobile-oneline {
  width: 100%;
  display: flex;
  align-items: baseline;
  justify-content: flex-start;
  gap: 16px;
  text-align: left;
}
.chooseaplan-swipe-mobile .numbers-mobile-oneline__amount {
  font-size: 16px;
  font-weight: 700;
  line-height: 20px;
  letter-spacing: 1px;
}
.chooseaplan-swipe-mobile .numbers-mobile-oneline__limit {
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  letter-spacing: 0.25px;
}
.chooseaplan-swipe-mobile .two-value {
  width: 100%;
  display: flex;
  gap: 32px;
  align-items: baseline;
  white-space: nowrap;
}
.chooseaplan-swipe-mobile .two-value__item {
  display: flex;
  flex-direction: row;
  min-width: 0;
  gap: 8px;
  align-items: baseline;
}
.chooseaplan-swipe-mobile .two-value__amount {
  font-weight: 700;
  line-height: 20px;
  font-size: 16px;
}
.chooseaplan-swipe-mobile .two-value__limit {
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
}
.chooseaplan-swipe-mobile .coverage-table__header-content {
  padding: 8px 16px 16px 16px;
}
@media screen and (max-width: 450px) {
  .chooseaplan-swipe-mobile .coverage-section__columns .column.addable-cell {
    display: flex;
    align-items: flex-start;
    width: 100%;
  }
  .chooseaplan-swipe-mobile .coverage-section__columns .column.addable-cell .numbers-mobile-oneline {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 8px;
  }
  .chooseaplan-swipe-mobile .coverage-section__columns .column.addable-cell .add-to-plan-btn {
    justify-self: end;
    display: flex;
    height: 40px;
    padding: 8px 16px;
    justify-content: center;
    align-items: center;
    gap: 8px;
    border-radius: 4px;
    border: 1px solid #C21B17;
    background: transparent;
    margin: 8px 0 0;
    color: #C21B17;
    font-weight: 700;
    text-transform: uppercase;
    white-space: nowrap;
  }
}
@media screen and (max-width: 450px) {
  .chooseaplan-swipe-mobile .coverage-section__columns .column {
    box-shadow: none !important;
    padding: 8px 0 0;
    border: none;
    gap: 8px;
  }
  .chooseaplan-swipe-mobile .column--pill-requirements {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
  }
}
@media screen and (max-width: 450px) {
  .chooseaplan-swipe-mobile .coverage-section__columns .numbers.big {
    display: flex;
    justify-content: flex-start;
    align-items: baseline;
    text-align: left;
    gap: 8px;
  }
  .chooseaplan-swipe-mobile .coverage-section__columns .limit-inline {
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 20px;
    letter-spacing: 0.25px;
    width: 100%;
    display: flex;
  }
  .chooseaplan-swipe-mobile .coverage-section__columns .coverage-pill {
    margin-left: 0;
    margin-right: 0;
    margin-top: 8px;
  }
}
.chooseaplan-swipe-mobile .cq-placeholder {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
.chooseaplan-swipe-mobile__chrome {
  position: static;
  background: #FFFFFF;
}
.chooseaplan-swipe-mobile--fixed .chooseaplan-swipe-mobile__chrome {
  position: fixed;
  left: 0;
  right: 0;
  top: var(--aem-sticky-offset);
  z-index: 9999;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.12);
}
.chooseaplan-swipe-mobile__chrome-spacer {
  width: 100%;
}
.chooseaplan-swipe-mobile__header {
  background: #FFFFFF;
}
.chooseaplan-swipe-mobile__title {
  margin: 0;
  text-align: center;
}
.chooseaplan-swipe-mobile sub {
  line-height: 18px;
  padding: 8px;
  display: block;
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
}
.chooseaplan-swipe-mobile sub a {
  color: #20252B;
}
.chooseaplan-swipe-mobile__dots {
  display: flex;
  justify-content: center;
  gap: 10px;
  padding: 20px 0;
}
.chooseaplan-swipe-mobile__dots .dot {
  width: 10px;
  height: 10px;
  border-radius: 999px;
  border: none;
  background: #d9d9d9;
  padding: 0;
  cursor: pointer;
}
.chooseaplan-swipe-mobile__dots .dot.active {
  background: #C21B17;
}
.chooseaplan-swipe-mobile__planbar {
  padding: 0 8px 16px;
  background: #FFFFFF;
}
.chooseaplan-swipe-mobile .planbar__switcher {
  display: flex;
  width: 100%;
  align-items: flex-end;
  gap: 0;
}
.chooseaplan-swipe-mobile .planbar__plan {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-start;
  padding: 0 16px;
  flex: 0 0 150px;
  width: 150px;
  box-sizing: border-box;
}
.chooseaplan-swipe-mobile .planbar__plan--current {
  width: 156px;
  border-right: 1px solid var(----color-gray-300, #ccc);
  padding-left: 0;
  padding-right: 16px;
}
.chooseaplan-swipe-mobile .planbar__plan--current.planbar__plan--last {
  border-right: none;
}
.chooseaplan-swipe-mobile .planbar__plan--peek {
  flex: 0 0 150px;
  align-items: flex-start;
  color: var(----color-gray-400, #B0B2B3);
  width: 156px;
  border-right: 1px solid var(----color-gray-300, #CCCCCC);
  box-sizing: border-box;
}
.chooseaplan-swipe-mobile .planbar__plan--peek:last-child {
  border-right: none;
}
.chooseaplan-swipe-mobile .planbar__plan-title {
  font-size: 24px;
  font-weight: 500;
  line-height: 32px;
  white-space: nowrap;
  font-style: normal;
}
.chooseaplan-swipe-mobile .planbar__plan-price {
  margin-top: 6px;
  font-size: 20px;
  font-weight: 300;
  line-height: 28px;
  white-space: nowrap;
  font-style: normal;
}
.chooseaplan-swipe-mobile .planbar__plan--current .planbar__plan-title,
.chooseaplan-swipe-mobile .planbar__plan--current .planbar__plan-price {
  color: var(----color-black, #20252b);
  opacity: 1;
}
.chooseaplan-swipe-mobile .planbar__plan--peek .planbar__plan-title,
.chooseaplan-swipe-mobile .planbar__plan--peek .planbar__plan-price {
  color: var(----color-gray-400, #b0b2b3);
}
.chooseaplan-swipe-mobile .planbar__links {
  margin-top: 8px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.chooseaplan-swipe-mobile .planbar__doclink {
  border: none;
  background: transparent;
  text-decoration: underline;
  color: #20252B;
  font-size: 14px;
  padding: 0;
  cursor: pointer;
  text-align: left;
}
.chooseaplan-swipe-mobile__toprule {
  height: 2px;
  background: #C21B17;
}
.chooseaplan-swipe-mobile__viewport {
  width: 100%;
  position: relative;
  overflow-x: hidden;
  overflow-y: visible;
  height: auto;
  min-height: 0;
}
.chooseaplan-swipe-mobile__track {
  display: flex;
  width: 100%;
  will-change: transform;
  height: auto;
  min-height: 0;
  align-items: flex-start;
}
.chooseaplan-swipe-mobile__slide {
  flex: 0 0 100%;
  width: 100%;
  height: auto;
  min-height: 0;
}
.chooseaplan-swipe-mobile__footer {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  z-index: 10000;
  background: #F6F6F6;
  padding: 8px;
  box-shadow: 0 -2px 4px rgba(0, 0, 0, 0.1);
  box-sizing: border-box;
}
.chooseaplan-swipe-mobile__footer .summary__btns {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 0;
}
.chooseaplan-swipe-mobile__footer .buy-btn {
  flex: 0 0 auto;
  padding: 16px 40px;
  white-space: nowrap;
  box-sizing: border-box;
}
.chooseaplan-swipe-mobile__footer .summary__btn {
  flex: 0 0 auto;
  white-space: nowrap;
}
.chooseaplan-swipe-mobile .buy-btn {
  background: #C21B17;
  color: #FFFFFF;
  border: none;
  padding: 16px 40px;
  border-radius: 4px;
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
  text-transform: uppercase;
  white-space: nowrap;
}
.chooseaplan-swipe-mobile .summary__btn {
  all: unset;
  display: flex;
  align-items: center;
  justify-content: center;
  text-transform: uppercase;
  padding: 4px;
  color: #C21B17;
  font-size: 16px;
  font-weight: 500;
  cursor: pointer;
  white-space: nowrap;
  gap: 8px;
}
.chooseaplan-swipe-mobile .summary__btn span:last-child {
  color: #C21B17;
  border-bottom: 1px solid #C21B17;
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: 16px;
  letter-spacing: 0.25px;
}
.chooseaplan-swipe-mobile .summary__btn__icon {
  width: 16px;
  height: 16px;
  aspect-ratio: 1/1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-right: 4px;
}
.chooseaplan-swipe-mobile .summary__btn__icon svg {
  width: 16px;
  height: 16px;
  display: block;
}
/* === Choose A Plan Mobile Styles === */
.chooseaplan-mobile {
  position: relative;
  height: 100vh;
  display: flex;
  flex-direction: column;
  /* 1) HEADER sticks to top */
  /* 1b) TOGGLES: plan buttons */
  /* 1c) DETAILS: price, docs, share */
  /* 2) CONTENT grows & scrolls under header */
  /* 3) FOOTER fixed at bottom */
  /* 5) INLINE SINGLE-LINE VALUE (no box) */
  /* === MOBILE-ONLY COVERAGE SECTION TWEAKS === */
  /* 1) Stack wrapper vertically (title, details, values) */
  /* 2) Details first */
  /* 3) Values second, remove the little box around the cell */
}
.chooseaplan-mobile__header {
  position: sticky;
  top: 0;
  background: #F6F6F6;
  padding: 16px;
  z-index: 10;
}
.chooseaplan-mobile__header__title {
  margin: 0 0 8px;
  font-size: 24px;
  text-align: center;
}
.chooseaplan-mobile__header-top-bar {
  width: 100%;
  height: 8px;
  background: #C21B17;
  margin-bottom: 12px;
}
.chooseaplan-mobile__header sub {
  line-height: 18px;
  padding-bottom: 15px;
  display: block;
}
.chooseaplan-mobile__toggles {
  display: flex;
  gap: 8px;
  margin: 0 0 12px;
}
.chooseaplan-mobile__toggles .plan-toggle__btn {
  flex: 1;
  padding: 8px 0;
  font-size: 14px;
  font-weight: 700;
  background: transparent;
  border: 1px solid #B0B2B3;
  color: #B0B2B3;
  border-radius: 8px;
  text-align: center;
  transition: background-color 0.3s ease;
  text-transform: uppercase;
}
.chooseaplan-mobile__toggles .plan-toggle__btn:hover {
  background: #F6F6F6;
}
.chooseaplan-mobile__toggles .plan-toggle__btn.active {
  border-color: #20252B;
  color: #20252B;
}
.chooseaplan-mobile__details {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
}
.chooseaplan-mobile__details .price {
  font-size: 32px;
  font-weight: 300;
  color: #20252B;
  margin-bottom: 4px;
}
.chooseaplan-mobile__details .links-row {
  display: flex;
  width: 100%;
  justify-content: space-between;
  align-items: center;
  margin-top: 4px;
}
.chooseaplan-mobile__details .doc-link {
  font-size: 14px;
  text-decoration: underline;
  color: #20252B;
  border: none;
  backgroun: none;
}
.chooseaplan-mobile__content {
  flex: 1 1 auto;
  overflow-y: auto;
  padding: 0 16px;
  margin-bottom: 80px;
  /* so footer doesn’t cover last items */
}
.chooseaplan-mobile__footer {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  background: #FFFFFF;
  padding: 12px 16px;
  box-shadow: 0 -2px 4px rgba(0, 0, 0, 0.1);
  text-align: right;
}
.chooseaplan-mobile__footer .buy-btn {
  background: #C21B17;
  color: #FFFFFF;
  border: none;
  padding: 12px 24px;
  border-radius: 4px;
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
  text-transform: uppercase;
}
.chooseaplan-mobile .numbers-mobile-oneline {
  display: flex !important;
  width: 100% !important;
  justify-content: flex-start;
  align-items: baseline;
  font-size: 16px;
  font-weight: 500;
  background: none !important;
  border: none !important;
}
.chooseaplan-mobile .limit-inline {
  margin-left: 0.25rem;
  font-size: 14px;
  font-weight: 200;
  color: #20252B;
}
.chooseaplan-mobile .coverage-section__wrapper {
  display: flex !important;
  flex-direction: column !important;
  padding: 0 !important;
  border: none !important;
  border-bottom: none !important;
}
.chooseaplan-mobile .coverage-section__details {
  order: 1;
  padding: 0.75rem 0 !important;
  border-bottom: none !important;
}
.chooseaplan-mobile .coverage-section__columns {
  order: 2;
  margin-bottom: 1rem;
}
.chooseaplan-mobile .coverage-section__columns .column {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  width: auto !important;
  flex: none !important;
  border: none !important;
  padding: 0.5rem 0 !important;
  text-align: left;
}
.chooseaplan-mobile .coverage-section__columns .column .add-to-plan-btn {
  display: inline-flex !important;
  visibility: visible !important;
  margin-top: 8px !important;
}
.chooseaplan-mobile .coverage-section__title {
  justify-content: left !important;
  padding: 0 !important;
}
.chooseaplan-mobile .coverage-table .coverage-table__header-title,
.chooseaplan-mobile .coverage-table .coverage-table__header-subtitle {
  color: #20252B;
}
.chooseaplan-mobile .coverage-table__header-title {
  font-size: 28px;
}
.chooseaplan-mobile .coverage-table__header-top-bar {
  display: none !important;
}
.chooseaplan-mobile .chooseaplan-mobile__content > .plan-selection__option {
  background: white;
  padding: 0 16px;
  margin-bottom: 16px;
  width: 100%;
}
.chooseaplan-mobile .plan-selection__link {
  display: inline-block;
  font-size: 16px !important;
  color: #20252B !important;
  text-decoration: underline;
}
.chooseaplan-mobile__footer {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  box-sizing: border-box;
  /* 1) switch from right-aligned text to a flex row */
  display: flex;
  justify-content: space-between;
  align-items: center;
  /* 2) your gray background */
  background: #F6F6F6;
  padding: 12px 16px;
  box-shadow: 0 -2px 4px rgba(0, 0, 0, 0.1);
  z-index: 20;
  /* 3) make sure the Re-Quote on the left and BUY on the right line up */
}
.chooseaplan-mobile__footer .summary__btns {
  /* if you need to tweak the left button */
  flex: 0 0 auto;
  margin: 0;
}
.chooseaplan-mobile__footer .buy-btn {
  flex: 0 0 auto;
  margin: 0 20px 0 0;
  /* kill any auto margins */
  padding: 8px 12px;
  white-space: nowrap;
  box-sizing: border-box;
}
/* === MOBILE RESET (<=450px) === */
@media screen and (max-width: 450px) {
  /* Stack the row */
  .coverage-section__wrapper {
    flex-direction: column;
    padding: 8px 16px;
  }
  /* Title: full width, no thick divider */
  .coverage-section__title {
    width: 100%;
    border-right: none;
    /* kill the 24px bar */
    padding: 16px 12px;
  }
  /* Columns container: full width */
  .coverage-section__columns {
    width: 100%;
  }
  /* Each column: 100% width, no side dividers, use top dividers instead */
  .coverage-section__columns .column {
    flex: 0 0 100%;
    max-width: 100%;
    width: 100%;
    border-left: 0;
    border-right: 0;
    border-top: 1px solid #EBEBEB;
    /* keeps separation when stacked */
    padding: 12px;
  }
  /* Plan selection header cards: single column and no internal dividers */
  .plan-selection {
    justify-content: flex-start;
    gap: 0;
  }
  .plan-selection__option {
    flex: 0 0 auto;
    max-width: 100%;
    border-left: 0;
    border-right: 0;
    padding: 12px 15px;
  }
  .plan-selection__option:first-child {
    border-right: none;
  }
  /* kill 24px bar */
  /* Purchase row: match stacked pattern */
  .plan-purchase-row {
    flex-direction: column;
    gap: 0;
  }
  .plan-purchase-row__share {
    flex: 0 0 auto;
    max-width: 100%;
    border-right: none;
    padding: 16px 12px;
  }
  .plan-purchase-row__option {
    flex: 0 0 auto;
    max-width: 100%;
    border-left: 0;
    border-right: 0;
    border-top: 1px solid #EBEBEB;
    padding: 16px 12px;
  }
}
/* ---- Mobile full-bleed helpers ---- */
:root {
  --mobile-gutter: 16px;
}
/* matches .chooseaplan-mobile__content padding */
/* Coverage table header: full-bleed gray with inner padding restored */
.chooseaplan-mobile .coverage-table__header-content {
  background: #F6F6F6;
  margin-left: calc(-1 * var(--mobile-gutter));
  margin-right: calc(-1 * var(--mobile-gutter));
  padding-left: var(--mobile-gutter);
  padding-right: var(--mobile-gutter);
  box-sizing: border-box;
}
/* Thin red top bar: full-bleed */
.chooseaplan-mobile__header-top-bar,
.chooseaplan-mobile .coverage-table__header-top-bar {
  margin-left: calc(-1 * var(--mobile-gutter));
  margin-right: calc(-1 * var(--mobile-gutter));
  width: auto;
  /* let negative margins handle the width */
}
/* Coverage row container — keep normal padding, just allow the ::after to bleed */
.chooseaplan-mobile .coverage-section__columns {
  position: relative;
  box-sizing: border-box;
  /* no negative margins here */
}
/* Single full-bleed bottom rule */
.chooseaplan-mobile .coverage-section__columns::after {
  content: "";
  position: absolute;
  bottom: 0;
  /* draw the rule at viewport width, centered, so it bleeds edge-to-edge
     regardless of any parent padding/margins */
  left: 50%;
  transform: translateX(-50%);
  width: 100vw;
  height: 0;
  border-bottom: 4px solid #F6F6F6;
  pointer-events: none;
}
/* remove the gap between a row and the next section header */
.chooseaplan-mobile .coverage-section__columns {
  margin-bottom: 0 !important;
  /* was 1rem */
  padding-bottom: 16px !important;
  /* keep space before the rule */
}
/* make sure the gray header starts right after the rule */
.chooseaplan-mobile .coverage-table__header-content {
  margin-top: 0 !important;
}
