/*!*********************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/flatpickr/dist/flatpickr.css ***!
  \*********************************************************************************************/
.flatpickr-calendar {
  background: transparent;
  opacity: 0;
  display: none;
  text-align: center;
  visibility: hidden;
  padding: 0;
  -webkit-animation: none;
          animation: none;
  direction: ltr;
  border: 0;
  font-size: 14px;
  line-height: 24px;
  border-radius: 5px;
  position: absolute;
  width: 307.875px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -ms-touch-action: manipulation;
      touch-action: manipulation;
  background: #fff;
  -webkit-box-shadow: 1px 0 0 #e6e6e6, -1px 0 0 #e6e6e6, 0 1px 0 #e6e6e6, 0 -1px 0 #e6e6e6, 0 3px 13px rgba(0,0,0,0.08);
          box-shadow: 1px 0 0 #e6e6e6, -1px 0 0 #e6e6e6, 0 1px 0 #e6e6e6, 0 -1px 0 #e6e6e6, 0 3px 13px rgba(0,0,0,0.08);
}
.flatpickr-calendar.open,
.flatpickr-calendar.inline {
  opacity: 1;
  max-height: 640px;
  visibility: visible;
}
.flatpickr-calendar.open {
  display: inline-block;
  z-index: 99999;
}
.flatpickr-calendar.animate.open {
  -webkit-animation: fpFadeInDown 300ms cubic-bezier(0.23, 1, 0.32, 1);
          animation: fpFadeInDown 300ms cubic-bezier(0.23, 1, 0.32, 1);
}
.flatpickr-calendar.inline {
  display: block;
  position: relative;
  top: 2px;
}
.flatpickr-calendar.static {
  position: absolute;
  top: calc(100% + 2px);
}
.flatpickr-calendar.static.open {
  z-index: 999;
  display: block;
}
.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+1) .flatpickr-day.inRange:nth-child(7n+7) {
  -webkit-box-shadow: none !important;
          box-shadow: none !important;
}
.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+2) .flatpickr-day.inRange:nth-child(7n+1) {
  -webkit-box-shadow: -2px 0 0 #e6e6e6, 5px 0 0 #e6e6e6;
          box-shadow: -2px 0 0 #e6e6e6, 5px 0 0 #e6e6e6;
}
.flatpickr-calendar .hasWeeks .dayContainer,
.flatpickr-calendar .hasTime .dayContainer {
  border-bottom: 0;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.flatpickr-calendar .hasWeeks .dayContainer {
  border-left: 0;
}
.flatpickr-calendar.hasTime .flatpickr-time {
  height: 40px;
  border-top: 1px solid #e6e6e6;
}
.flatpickr-calendar.noCalendar.hasTime .flatpickr-time {
  height: auto;
}
.flatpickr-calendar:before,
.flatpickr-calendar:after {
  position: absolute;
  display: block;
  pointer-events: none;
  border: solid transparent;
  content: '';
  height: 0;
  width: 0;
  left: 22px;
}
.flatpickr-calendar.rightMost:before,
.flatpickr-calendar.arrowRight:before,
.flatpickr-calendar.rightMost:after,
.flatpickr-calendar.arrowRight:after {
  left: auto;
  right: 22px;
}
.flatpickr-calendar.arrowCenter:before,
.flatpickr-calendar.arrowCenter:after {
  left: 50%;
  right: 50%;
}
.flatpickr-calendar:before {
  border-width: 5px;
  margin: 0 -5px;
}
.flatpickr-calendar:after {
  border-width: 4px;
  margin: 0 -4px;
}
.flatpickr-calendar.arrowTop:before,
.flatpickr-calendar.arrowTop:after {
  bottom: 100%;
}
.flatpickr-calendar.arrowTop:before {
  border-bottom-color: #e6e6e6;
}
.flatpickr-calendar.arrowTop:after {
  border-bottom-color: #fff;
}
.flatpickr-calendar.arrowBottom:before,
.flatpickr-calendar.arrowBottom:after {
  top: 100%;
}
.flatpickr-calendar.arrowBottom:before {
  border-top-color: #e6e6e6;
}
.flatpickr-calendar.arrowBottom:after {
  border-top-color: #fff;
}
.flatpickr-calendar:focus {
  outline: 0;
}
.flatpickr-wrapper {
  position: relative;
  display: inline-block;
}
.flatpickr-months {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
.flatpickr-months .flatpickr-month {
  background: transparent;
  color: rgba(0,0,0,0.9);
  fill: rgba(0,0,0,0.9);
  height: 34px;
  line-height: 1;
  text-align: center;
  position: relative;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  overflow: hidden;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.flatpickr-months .flatpickr-prev-month,
.flatpickr-months .flatpickr-next-month {
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  text-decoration: none;
  cursor: pointer;
  position: absolute;
  top: 0;
  height: 34px;
  padding: 10px;
  z-index: 3;
  color: rgba(0,0,0,0.9);
  fill: rgba(0,0,0,0.9);
}
.flatpickr-months .flatpickr-prev-month.flatpickr-disabled,
.flatpickr-months .flatpickr-next-month.flatpickr-disabled {
  display: none;
}
.flatpickr-months .flatpickr-prev-month i,
.flatpickr-months .flatpickr-next-month i {
  position: relative;
}
.flatpickr-months .flatpickr-prev-month.flatpickr-prev-month,
.flatpickr-months .flatpickr-next-month.flatpickr-prev-month {
/*
      /*rtl:begin:ignore*/
/*
      */
  left: 0;
/*
      /*rtl:end:ignore*/
/*
      */
}
/*
      /*rtl:begin:ignore*/
/*
      /*rtl:end:ignore*/
.flatpickr-months .flatpickr-prev-month.flatpickr-next-month,
.flatpickr-months .flatpickr-next-month.flatpickr-next-month {
/*
      /*rtl:begin:ignore*/
/*
      */
  right: 0;
/*
      /*rtl:end:ignore*/
/*
      */
}
/*
      /*rtl:begin:ignore*/
/*
      /*rtl:end:ignore*/
.flatpickr-months .flatpickr-prev-month:hover,
.flatpickr-months .flatpickr-next-month:hover {
  color: #959ea9;
}
.flatpickr-months .flatpickr-prev-month:hover svg,
.flatpickr-months .flatpickr-next-month:hover svg {
  fill: #f64747;
}
.flatpickr-months .flatpickr-prev-month svg,
.flatpickr-months .flatpickr-next-month svg {
  width: 14px;
  height: 14px;
}
.flatpickr-months .flatpickr-prev-month svg path,
.flatpickr-months .flatpickr-next-month svg path {
  -webkit-transition: fill 0.1s;
  transition: fill 0.1s;
  fill: inherit;
}
.numInputWrapper {
  position: relative;
  height: auto;
}
.numInputWrapper input,
.numInputWrapper span {
  display: inline-block;
}
.numInputWrapper input {
  width: 100%;
}
.numInputWrapper input::-ms-clear {
  display: none;
}
.numInputWrapper input::-webkit-outer-spin-button,
.numInputWrapper input::-webkit-inner-spin-button {
  margin: 0;
  -webkit-appearance: none;
}
.numInputWrapper span {
  position: absolute;
  right: 0;
  width: 14px;
  padding: 0 4px 0 2px;
  height: 50%;
  line-height: 50%;
  opacity: 0;
  cursor: pointer;
  border: 1px solid rgba(57,57,57,0.15);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.numInputWrapper span:hover {
  background: rgba(0,0,0,0.1);
}
.numInputWrapper span:active {
  background: rgba(0,0,0,0.2);
}
.numInputWrapper span:after {
  display: block;
  content: "";
  position: absolute;
}
.numInputWrapper span.arrowUp {
  top: 0;
  border-bottom: 0;
}
.numInputWrapper span.arrowUp:after {
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-bottom: 4px solid rgba(57,57,57,0.6);
  top: 26%;
}
.numInputWrapper span.arrowDown {
  top: 50%;
}
.numInputWrapper span.arrowDown:after {
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 4px solid rgba(57,57,57,0.6);
  top: 40%;
}
.numInputWrapper span svg {
  width: inherit;
  height: auto;
}
.numInputWrapper span svg path {
  fill: rgba(0,0,0,0.5);
}
.numInputWrapper:hover {
  background: rgba(0,0,0,0.05);
}
.numInputWrapper:hover span {
  opacity: 1;
}
.flatpickr-current-month {
  font-size: 135%;
  line-height: inherit;
  font-weight: 300;
  color: inherit;
  position: absolute;
  width: 75%;
  left: 12.5%;
  padding: 7.48px 0 0 0;
  line-height: 1;
  height: 34px;
  display: inline-block;
  text-align: center;
  -webkit-transform: translate3d(0px, 0px, 0px);
          transform: translate3d(0px, 0px, 0px);
}
.flatpickr-current-month span.cur-month {
  font-family: inherit;
  font-weight: 700;
  color: inherit;
  display: inline-block;
  margin-left: 0.5ch;
  padding: 0;
}
.flatpickr-current-month span.cur-month:hover {
  background: rgba(0,0,0,0.05);
}
.flatpickr-current-month .numInputWrapper {
  width: 6ch;
  width: 7ch\0;
  display: inline-block;
}
.flatpickr-current-month .numInputWrapper span.arrowUp:after {
  border-bottom-color: rgba(0,0,0,0.9);
}
.flatpickr-current-month .numInputWrapper span.arrowDown:after {
  border-top-color: rgba(0,0,0,0.9);
}
.flatpickr-current-month input.cur-year {
  background: transparent;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  color: inherit;
  cursor: text;
  padding: 0 0 0 0.5ch;
  margin: 0;
  display: inline-block;
  font-size: inherit;
  font-family: inherit;
  font-weight: 300;
  line-height: inherit;
  height: auto;
  border: 0;
  border-radius: 0;
  vertical-align: initial;
  -webkit-appearance: textfield;
  -moz-appearance: textfield;
  appearance: textfield;
}
.flatpickr-current-month input.cur-year:focus {
  outline: 0;
}
.flatpickr-current-month input.cur-year[disabled],
.flatpickr-current-month input.cur-year[disabled]:hover {
  font-size: 100%;
  color: rgba(0,0,0,0.5);
  background: transparent;
  pointer-events: none;
}
.flatpickr-current-month .flatpickr-monthDropdown-months {
  appearance: menulist;
  background: transparent;
  border: none;
  border-radius: 0;
  box-sizing: border-box;
  color: inherit;
  cursor: pointer;
  font-size: inherit;
  font-family: inherit;
  font-weight: 300;
  height: auto;
  line-height: inherit;
  margin: -1px 0 0 0;
  outline: none;
  padding: 0 0 0 0.5ch;
  position: relative;
  vertical-align: initial;
  -webkit-box-sizing: border-box;
  -webkit-appearance: menulist;
  -moz-appearance: menulist;
  width: auto;
}
.flatpickr-current-month .flatpickr-monthDropdown-months:focus,
.flatpickr-current-month .flatpickr-monthDropdown-months:active {
  outline: none;
}
.flatpickr-current-month .flatpickr-monthDropdown-months:hover {
  background: rgba(0,0,0,0.05);
}
.flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month {
  background-color: transparent;
  outline: none;
  padding: 0;
}
.flatpickr-weekdays {
  background: transparent;
  text-align: center;
  overflow: hidden;
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  height: 28px;
}
.flatpickr-weekdays .flatpickr-weekdaycontainer {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
span.flatpickr-weekday {
  cursor: default;
  font-size: 90%;
  background: transparent;
  color: rgba(0,0,0,0.54);
  line-height: 1;
  margin: 0;
  text-align: center;
  display: block;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
  font-weight: bolder;
}
.dayContainer,
.flatpickr-weeks {
  padding: 1px 0 0 0;
}
.flatpickr-days {
  position: relative;
  overflow: hidden;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  width: 307.875px;
}
.flatpickr-days:focus {
  outline: 0;
}
.dayContainer {
  padding: 0;
  outline: 0;
  text-align: left;
  width: 307.875px;
  min-width: 307.875px;
  max-width: 307.875px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: inline-block;
  display: -ms-flexbox;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
          flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-around;
          justify-content: space-around;
  -webkit-transform: translate3d(0px, 0px, 0px);
          transform: translate3d(0px, 0px, 0px);
  opacity: 1;
}
.dayContainer + .dayContainer {
  -webkit-box-shadow: -1px 0 0 #e6e6e6;
          box-shadow: -1px 0 0 #e6e6e6;
}
.flatpickr-day {
  background: none;
  border: 1px solid transparent;
  border-radius: 150px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  color: #393939;
  cursor: pointer;
  font-weight: 400;
  width: 14.2857143%;
  -webkit-flex-basis: 14.2857143%;
      -ms-flex-preferred-size: 14.2857143%;
          flex-basis: 14.2857143%;
  max-width: 39px;
  height: 39px;
  line-height: 39px;
  margin: 0;
  display: inline-block;
  position: relative;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
}
.flatpickr-day.inRange,
.flatpickr-day.prevMonthDay.inRange,
.flatpickr-day.nextMonthDay.inRange,
.flatpickr-day.today.inRange,
.flatpickr-day.prevMonthDay.today.inRange,
.flatpickr-day.nextMonthDay.today.inRange,
.flatpickr-day:hover,
.flatpickr-day.prevMonthDay:hover,
.flatpickr-day.nextMonthDay:hover,
.flatpickr-day:focus,
.flatpickr-day.prevMonthDay:focus,
.flatpickr-day.nextMonthDay:focus {
  cursor: pointer;
  outline: 0;
  background: #e6e6e6;
  border-color: #e6e6e6;
}
.flatpickr-day.today {
  border-color: #959ea9;
}
.flatpickr-day.today:hover,
.flatpickr-day.today:focus {
  border-color: #959ea9;
  background: #959ea9;
  color: #fff;
}
.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange,
.flatpickr-day.selected.inRange,
.flatpickr-day.startRange.inRange,
.flatpickr-day.endRange.inRange,
.flatpickr-day.selected:focus,
.flatpickr-day.startRange:focus,
.flatpickr-day.endRange:focus,
.flatpickr-day.selected:hover,
.flatpickr-day.startRange:hover,
.flatpickr-day.endRange:hover,
.flatpickr-day.selected.prevMonthDay,
.flatpickr-day.startRange.prevMonthDay,
.flatpickr-day.endRange.prevMonthDay,
.flatpickr-day.selected.nextMonthDay,
.flatpickr-day.startRange.nextMonthDay,
.flatpickr-day.endRange.nextMonthDay {
  background: #569ff7;
  -webkit-box-shadow: none;
          box-shadow: none;
  color: #fff;
  border-color: #569ff7;
}
.flatpickr-day.selected.startRange,
.flatpickr-day.startRange.startRange,
.flatpickr-day.endRange.startRange {
  border-radius: 50px 0 0 50px;
}
.flatpickr-day.selected.endRange,
.flatpickr-day.startRange.endRange,
.flatpickr-day.endRange.endRange {
  border-radius: 0 50px 50px 0;
}
.flatpickr-day.selected.startRange + .endRange:not(:nth-child(7n+1)),
.flatpickr-day.startRange.startRange + .endRange:not(:nth-child(7n+1)),
.flatpickr-day.endRange.startRange + .endRange:not(:nth-child(7n+1)) {
  -webkit-box-shadow: -10px 0 0 #569ff7;
          box-shadow: -10px 0 0 #569ff7;
}
.flatpickr-day.selected.startRange.endRange,
.flatpickr-day.startRange.startRange.endRange,
.flatpickr-day.endRange.startRange.endRange {
  border-radius: 50px;
}
.flatpickr-day.inRange {
  border-radius: 0;
  -webkit-box-shadow: -5px 0 0 #e6e6e6, 5px 0 0 #e6e6e6;
          box-shadow: -5px 0 0 #e6e6e6, 5px 0 0 #e6e6e6;
}
.flatpickr-day.flatpickr-disabled,
.flatpickr-day.flatpickr-disabled:hover,
.flatpickr-day.prevMonthDay,
.flatpickr-day.nextMonthDay,
.flatpickr-day.notAllowed,
.flatpickr-day.notAllowed.prevMonthDay,
.flatpickr-day.notAllowed.nextMonthDay {
  color: rgba(57,57,57,0.3);
  background: transparent;
  border-color: transparent;
  cursor: default;
}
.flatpickr-day.flatpickr-disabled,
.flatpickr-day.flatpickr-disabled:hover {
  cursor: not-allowed;
  color: rgba(57,57,57,0.1);
}
.flatpickr-day.week.selected {
  border-radius: 0;
  -webkit-box-shadow: -5px 0 0 #569ff7, 5px 0 0 #569ff7;
          box-shadow: -5px 0 0 #569ff7, 5px 0 0 #569ff7;
}
.flatpickr-day.hidden {
  visibility: hidden;
}
.rangeMode .flatpickr-day {
  margin-top: 1px;
}
.flatpickr-weekwrapper {
  float: left;
}
.flatpickr-weekwrapper .flatpickr-weeks {
  padding: 0 12px;
  -webkit-box-shadow: 1px 0 0 #e6e6e6;
          box-shadow: 1px 0 0 #e6e6e6;
}
.flatpickr-weekwrapper .flatpickr-weekday {
  float: none;
  width: 100%;
  line-height: 28px;
}
.flatpickr-weekwrapper span.flatpickr-day,
.flatpickr-weekwrapper span.flatpickr-day:hover {
  display: block;
  width: 100%;
  max-width: none;
  color: rgba(57,57,57,0.3);
  background: transparent;
  cursor: default;
  border: none;
}
.flatpickr-innerContainer {
  display: block;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  overflow: hidden;
}
.flatpickr-rContainer {
  display: inline-block;
  padding: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.flatpickr-time {
  text-align: center;
  outline: 0;
  display: block;
  height: 0;
  line-height: 40px;
  max-height: 40px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  overflow: hidden;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
.flatpickr-time:after {
  content: "";
  display: table;
  clear: both;
}
.flatpickr-time .numInputWrapper {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
  width: 40%;
  height: 40px;
  float: left;
}
.flatpickr-time .numInputWrapper span.arrowUp:after {
  border-bottom-color: #393939;
}
.flatpickr-time .numInputWrapper span.arrowDown:after {
  border-top-color: #393939;
}
.flatpickr-time.hasSeconds .numInputWrapper {
  width: 26%;
}
.flatpickr-time.time24hr .numInputWrapper {
  width: 49%;
}
.flatpickr-time input {
  background: transparent;
  -webkit-box-shadow: none;
          box-shadow: none;
  border: 0;
  border-radius: 0;
  text-align: center;
  margin: 0;
  padding: 0;
  height: inherit;
  line-height: inherit;
  color: #393939;
  font-size: 14px;
  position: relative;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-appearance: textfield;
  -moz-appearance: textfield;
  appearance: textfield;
}
.flatpickr-time input.flatpickr-hour {
  font-weight: bold;
}
.flatpickr-time input.flatpickr-minute,
.flatpickr-time input.flatpickr-second {
  font-weight: 400;
}
.flatpickr-time input:focus {
  outline: 0;
  border: 0;
}
.flatpickr-time .flatpickr-time-separator,
.flatpickr-time .flatpickr-am-pm {
  height: inherit;
  float: left;
  line-height: inherit;
  color: #393939;
  font-weight: bold;
  width: 2%;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  -webkit-align-self: center;
      -ms-flex-item-align: center;
          align-self: center;
}
.flatpickr-time .flatpickr-am-pm {
  outline: 0;
  width: 18%;
  cursor: pointer;
  text-align: center;
  font-weight: 400;
}
.flatpickr-time input:hover,
.flatpickr-time .flatpickr-am-pm:hover,
.flatpickr-time input:focus,
.flatpickr-time .flatpickr-am-pm:focus {
  background: #eee;
}
.flatpickr-input[readonly] {
  cursor: pointer;
}
@-webkit-keyframes fpFadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -20px, 0);
            transform: translate3d(0, -20px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}
@keyframes fpFadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -20px, 0);
            transform: translate3d(0, -20px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}

/*!************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./src/view/style/style.scss ***!
  \************************************************************************************************************************************************/
@charset "UTF-8";
/**
 * Swiper 12.2.0
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2026 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: May 27, 2026
 */
:root {
  --swiper-theme-color: #007aff;
  /*
  --swiper-preloader-color: var(--swiper-theme-color);
  --swiper-wrapper-transition-timing-function: initial;
  */
}

:host {
  position: relative;
  display: block;
  margin-left: auto;
  margin-right: auto;
  z-index: 1;
}

.swiper {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  /* Fix of Webkit flickering */
  z-index: 1;
  display: block;
}

.swiper-vertical > .swiper-wrapper {
  flex-direction: column;
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
  box-sizing: content-box;
}

.swiper-android .swiper-slide,
.swiper-ios .swiper-slide,
.swiper-wrapper {
  transform: translate3d(0px, 0, 0);
}

.swiper-horizontal {
  touch-action: pan-y;
}

.swiper-vertical {
  touch-action: pan-x;
}

.swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform;
  display: block;
}

.swiper-slide-invisible-blank {
  visibility: hidden;
}

/* Auto Height */
.swiper-autoheight,
.swiper-autoheight .swiper-slide {
  height: auto;
}

.swiper-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property: transform, height;
}

.swiper-backface-hidden .swiper-slide {
  transform: translateZ(0);
  backface-visibility: hidden;
}

/* 3D Effects */
.swiper-3d.swiper-css-mode .swiper-wrapper {
  perspective: 1200px;
}

.swiper-3d .swiper-wrapper {
  transform-style: preserve-3d;
}

.swiper-3d {
  perspective: 1200px;
  .swiper-slide,
  .swiper-cube-shadow {
    transform-style: preserve-3d;
  }
}

/* CSS Mode */
.swiper-css-mode {
  > .swiper-wrapper {
    overflow: auto;
    scrollbar-width: none; /* For Firefox */
    -ms-overflow-style: none; /* For Internet Explorer and Edge */
    &::-webkit-scrollbar {
      display: none;
    }
  }
  > .swiper-wrapper > .swiper-slide {
    scroll-snap-align: start start;
  }
  &.swiper-horizontal {
    > .swiper-wrapper {
      scroll-snap-type: x mandatory;
    }
    > .swiper-wrapper > .swiper-slide:first-child {
      margin-inline-start: var(--swiper-slides-offset-before);
      scroll-margin-inline-start: var(--swiper-slides-offset-before);
    }
    > .swiper-wrapper > .swiper-slide:last-child {
      margin-inline-end: var(--swiper-slides-offset-after);
    }
  }
  &.swiper-vertical {
    > .swiper-wrapper {
      scroll-snap-type: y mandatory;
    }
    > .swiper-wrapper > .swiper-slide:first-child {
      margin-block-start: var(--swiper-slides-offset-before);
      scroll-margin-block-start: var(--swiper-slides-offset-before);
    }
    > .swiper-wrapper > .swiper-slide:last-child {
      margin-block-end: var(--swiper-slides-offset-after);
    }
  }
  &.swiper-free-mode {
    > .swiper-wrapper {
      scroll-snap-type: none;
    }
    > .swiper-wrapper > .swiper-slide {
      scroll-snap-align: none;
    }
  }
  &.swiper-centered {
    > .swiper-wrapper::before {
      content: "";
      flex-shrink: 0;
      order: 9999;
    }
    > .swiper-wrapper > .swiper-slide {
      scroll-snap-align: center center;
      scroll-snap-stop: always;
    }
  }
  &.swiper-centered.swiper-horizontal {
    > .swiper-wrapper > .swiper-slide:first-child {
      margin-inline-start: var(--swiper-centered-offset-before);
    }
    > .swiper-wrapper::before {
      height: 100%;
      min-height: 1px;
      width: var(--swiper-centered-offset-after);
    }
  }
  &.swiper-centered.swiper-vertical {
    > .swiper-wrapper > .swiper-slide:first-child {
      margin-block-start: var(--swiper-centered-offset-before);
    }
    > .swiper-wrapper::before {
      width: 100%;
      min-width: 1px;
      height: var(--swiper-centered-offset-after);
    }
  }
}

/* Slide styles start */
/* 3D Shadows */
.swiper-3d {
  .swiper-slide-shadow,
  .swiper-slide-shadow-left,
  .swiper-slide-shadow-right,
  .swiper-slide-shadow-top,
  .swiper-slide-shadow-bottom,
  .swiper-slide-shadow,
  .swiper-slide-shadow-left,
  .swiper-slide-shadow-right,
  .swiper-slide-shadow-top,
  .swiper-slide-shadow-bottom {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 10;
  }
  .swiper-slide-shadow {
    background: rgba(0, 0, 0, 0.15);
  }
  .swiper-slide-shadow-left {
    background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  }
  .swiper-slide-shadow-right {
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  }
  .swiper-slide-shadow-top {
    background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  }
  .swiper-slide-shadow-bottom {
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  }
}

.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  transform-origin: 50%;
  box-sizing: border-box;
  border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
  border-radius: 50%;
  border-top-color: transparent;
}

.swiper:not(.swiper-watch-progress),
.swiper-watch-progress .swiper-slide-visible {
  .swiper-lazy-preloader {
    animation: swiper-preloader-spin 1s infinite linear;
  }
}

.swiper-lazy-preloader-white {
  --swiper-preloader-color: #fff;
}

.swiper-lazy-preloader-black {
  --swiper-preloader-color: #000;
}

@keyframes swiper-preloader-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/* Slide styles end */
.swiper-virtual .swiper-slide {
  -webkit-backface-visibility: hidden;
  transform: translateZ(0);
}

.swiper-virtual.swiper-css-mode {
  .swiper-wrapper::after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    pointer-events: none;
  }
}

.swiper-virtual.swiper-css-mode.swiper-horizontal {
  .swiper-wrapper::after {
    height: 1px;
    width: var(--swiper-virtual-size);
  }
}

.swiper-virtual.swiper-css-mode.swiper-vertical {
  .swiper-wrapper::after {
    width: 1px;
    height: var(--swiper-virtual-size);
  }
}

:root {
  --swiper-navigation-size: 44px;
  /*
  --swiper-navigation-top-offset: 50%;
  --swiper-navigation-sides-offset: 4px;
  --swiper-navigation-color: var(--swiper-theme-color);
  */
}

.swiper-button-prev,
.swiper-button-next {
  position: absolute;
  width: var(--swiper-navigation-size);
  height: var(--swiper-navigation-size);
  z-index: 10;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--swiper-navigation-color, var(--swiper-theme-color));
  &.swiper-button-disabled {
    opacity: 0.35;
    cursor: auto;
    pointer-events: none;
  }
  &.swiper-button-hidden {
    opacity: 0;
    cursor: auto;
    pointer-events: none;
  }
  .swiper-navigation-disabled & {
    display: none !important;
  }
  ::slotted(svg),
  svg {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transform-origin: center;
    fill: currentColor;
    pointer-events: none;
  }
}

.swiper-button-lock {
  display: none;
}

.swiper-button-prev,
.swiper-button-next {
  top: var(--swiper-navigation-top-offset, 50%);
  margin-top: calc(0px - var(--swiper-navigation-size) / 2);
}

.swiper-button-prev {
  left: var(--swiper-navigation-sides-offset, 4px);
  right: auto;
  ::slotted(.swiper-navigation-icon),
  .swiper-navigation-icon {
    transform: rotate(180deg);
  }
}

.swiper-button-next {
  right: var(--swiper-navigation-sides-offset, 4px);
  left: auto;
}

.swiper-horizontal {
  .swiper-button-prev,
  .swiper-button-next,
  ~ .swiper-button-prev,
  ~ .swiper-button-next {
    top: var(--swiper-navigation-top-offset, 50%);
    margin-top: calc(0px - var(--swiper-navigation-size) / 2);
    margin-left: 0;
  }
  .swiper-button-prev,
  & ~ .swiper-button-prev,
  &.swiper-rtl .swiper-button-next,
  &.swiper-rtl ~ .swiper-button-next {
    left: var(--swiper-navigation-sides-offset, 4px);
    right: auto;
  }
  .swiper-button-next,
  & ~ .swiper-button-next,
  &.swiper-rtl .swiper-button-prev,
  &.swiper-rtl ~ .swiper-button-prev {
    right: var(--swiper-navigation-sides-offset, 4px);
    left: auto;
  }
  .swiper-button-prev,
  & ~ .swiper-button-prev,
  &.swiper-rtl .swiper-button-next,
  &.swiper-rtl ~ .swiper-button-next {
    ::slotted(.swiper-navigation-icon),
    .swiper-navigation-icon {
      transform: rotate(180deg);
    }
  }
  &.swiper-rtl .swiper-button-prev,
  &.swiper-rtl ~ .swiper-button-prev {
    ::slotted(.swiper-navigation-icon),
    .swiper-navigation-icon {
      transform: rotate(0deg);
    }
  }
}

.swiper-vertical {
  .swiper-button-prev,
  .swiper-button-next,
  ~ .swiper-button-prev,
  ~ .swiper-button-next {
    left: var(--swiper-navigation-top-offset, 50%);
    right: auto;
    margin-left: calc(0px - var(--swiper-navigation-size) / 2);
    margin-top: 0;
  }
  .swiper-button-prev,
  ~ .swiper-button-prev {
    top: var(--swiper-navigation-sides-offset, 4px);
    bottom: auto;
    ::slotted(.swiper-navigation-icon),
    .swiper-navigation-icon {
      transform: rotate(-90deg);
    }
  }
  .swiper-button-next,
  ~ .swiper-button-next {
    bottom: var(--swiper-navigation-sides-offset, 4px);
    top: auto;
    ::slotted(.swiper-navigation-icon),
    .swiper-navigation-icon {
      transform: rotate(90deg);
    }
  }
}

:root {
  /*
  --swiper-pagination-color: var(--swiper-theme-color);
  --swiper-pagination-left: auto;
  --swiper-pagination-right: 8px;
  --swiper-pagination-bottom: 8px;
  --swiper-pagination-top: auto;
  --swiper-pagination-fraction-color: inherit;
  --swiper-pagination-progressbar-bg-color: rgba(0,0,0,0.25);
  --swiper-pagination-progressbar-size: 4px;
  --swiper-pagination-bullet-size: 8px;
  --swiper-pagination-bullet-width: 8px;
  --swiper-pagination-bullet-height: 8px;
  --swiper-pagination-bullet-border-radius: 50%;
  --swiper-pagination-bullet-inactive-color: #000;
  --swiper-pagination-bullet-inactive-opacity: 0.2;
  --swiper-pagination-bullet-opacity: 1;
  --swiper-pagination-bullet-horizontal-gap: 4px;
  --swiper-pagination-bullet-vertical-gap: 6px;
  */
}

.swiper-pagination {
  position: absolute;
  text-align: center;
  transition: 300ms opacity;
  transform: translate3d(0, 0, 0);
  z-index: 10;
  &.swiper-pagination-hidden {
    opacity: 0;
  }
  .swiper-pagination-disabled > &,
  &.swiper-pagination-disabled {
    display: none !important;
  }
}

/* Common Styles */
.swiper-pagination-fraction,
.swiper-pagination-custom,
.swiper-horizontal > .swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal {
  bottom: var(--swiper-pagination-bottom, 8px);
  top: var(--swiper-pagination-top, auto);
  left: 0;
  width: 100%;
}

/* Bullets */
.swiper-pagination-bullets-dynamic {
  overflow: hidden;
  font-size: 0;
  .swiper-pagination-bullet {
    transform: scale(0.33);
    position: relative;
  }
  .swiper-pagination-bullet-active {
    transform: scale(1);
  }
  .swiper-pagination-bullet-active-main {
    transform: scale(1);
  }
  .swiper-pagination-bullet-active-prev {
    transform: scale(0.66);
  }
  .swiper-pagination-bullet-active-prev-prev {
    transform: scale(0.33);
  }
  .swiper-pagination-bullet-active-next {
    transform: scale(0.66);
  }
  .swiper-pagination-bullet-active-next-next {
    transform: scale(0.33);
  }
}

.swiper-pagination-bullet {
  width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));
  height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
  display: inline-block;
  border-radius: var(--swiper-pagination-bullet-border-radius, 50%);
  background: var(--swiper-pagination-bullet-inactive-color, #000);
  opacity: var(--swiper-pagination-bullet-inactive-opacity, 0.2);
  button& {
    border: none;
    margin: 0;
    padding: 0;
    box-shadow: none;
    appearance: none;
  }
  .swiper-pagination-clickable & {
    cursor: pointer;
  }
  &:only-child {
    display: none !important;
  }
}

.swiper-pagination-bullet-active {
  opacity: var(--swiper-pagination-bullet-opacity, 1);
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
}

.swiper-vertical > .swiper-pagination-bullets,
.swiper-pagination-vertical.swiper-pagination-bullets {
  right: var(--swiper-pagination-right, 8px);
  left: var(--swiper-pagination-left, auto);
  top: 50%;
  transform: translate3d(0px, -50%, 0);
  .swiper-pagination-bullet {
    margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0;
    display: block;
  }
  &.swiper-pagination-bullets-dynamic {
    top: 50%;
    transform: translateY(-50%);
    width: 8px;
    .swiper-pagination-bullet {
      display: inline-block;
      transition: 200ms transform, 200ms top;
    }
  }
}

.swiper-horizontal > .swiper-pagination-bullets,
.swiper-pagination-horizontal.swiper-pagination-bullets {
  .swiper-pagination-bullet {
    margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px);
  }
  &.swiper-pagination-bullets-dynamic {
    left: 50%;
    transform: translateX(-50%);
    white-space: nowrap;
    .swiper-pagination-bullet {
      transition: 200ms transform, 200ms left;
    }
  }
}

.swiper-horizontal.swiper-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 200ms transform, 200ms right;
}

/* Fraction */
.swiper-pagination-fraction {
  color: var(--swiper-pagination-fraction-color, inherit);
}

/* Progress */
.swiper-pagination-progressbar {
  background: var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, 0.25));
  position: absolute;
  .swiper-pagination-progressbar-fill {
    background: var(--swiper-pagination-color, var(--swiper-theme-color));
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    transform: scale(0);
    transform-origin: left top;
  }
  .swiper-rtl & .swiper-pagination-progressbar-fill {
    transform-origin: right top;
  }
  .swiper-horizontal > &,
  &.swiper-pagination-horizontal,
  .swiper-vertical > &.swiper-pagination-progressbar-opposite,
  &.swiper-pagination-vertical.swiper-pagination-progressbar-opposite {
    width: 100%;
    height: var(--swiper-pagination-progressbar-size, 4px);
    left: 0;
    top: 0;
  }
  .swiper-vertical > &,
  &.swiper-pagination-vertical,
  .swiper-horizontal > &.swiper-pagination-progressbar-opposite,
  &.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite {
    width: var(--swiper-pagination-progressbar-size, 4px);
    height: 100%;
    left: 0;
    top: 0;
  }
}

.swiper-pagination-lock {
  display: none;
}

:root {
  /*
  --swiper-scrollbar-border-radius: 10px;
  --swiper-scrollbar-top: auto;
  --swiper-scrollbar-bottom: 4px;
  --swiper-scrollbar-left: auto;
  --swiper-scrollbar-right: 4px;
  --swiper-scrollbar-sides-offset: 1%;
  --swiper-scrollbar-bg-color: rgba(0, 0, 0, 0.1);
  --swiper-scrollbar-drag-bg-color: rgba(0, 0, 0, 0.5);
  --swiper-scrollbar-size: 4px;
  */
}

.swiper-scrollbar {
  border-radius: var(--swiper-scrollbar-border-radius, 10px);
  position: relative;
  touch-action: none;
  background: var(--swiper-scrollbar-bg-color, rgba(0, 0, 0, 0.1));
  .swiper-scrollbar-disabled > &,
  &.swiper-scrollbar-disabled {
    display: none !important;
  }
  .swiper-horizontal > &,
  &.swiper-scrollbar-horizontal {
    position: absolute;
    left: var(--swiper-scrollbar-sides-offset, 1%);
    bottom: var(--swiper-scrollbar-bottom, 4px);
    top: var(--swiper-scrollbar-top, auto);
    z-index: 50;
    height: var(--swiper-scrollbar-size, 4px);
    width: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%));
  }
  .swiper-vertical > &,
  &.swiper-scrollbar-vertical {
    position: absolute;
    left: var(--swiper-scrollbar-left, auto);
    right: var(--swiper-scrollbar-right, 4px);
    top: var(--swiper-scrollbar-sides-offset, 1%);
    z-index: 50;
    width: var(--swiper-scrollbar-size, 4px);
    height: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%));
  }
}

.swiper-scrollbar-drag {
  height: 100%;
  width: 100%;
  position: relative;
  background: var(--swiper-scrollbar-drag-bg-color, rgba(0, 0, 0, 0.5));
  border-radius: var(--swiper-scrollbar-border-radius, 10px);
  left: 0;
  top: 0;
}

.swiper-scrollbar-cursor-drag {
  cursor: move;
}

.swiper-scrollbar-lock {
  display: none;
}

/* Zoom container styles start */
.swiper-zoom-container {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  > img,
  > svg,
  > canvas {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
  }
}

/* Zoom container styles end */
.swiper-slide-zoomed {
  cursor: move;
  touch-action: none;
}

/* a11y */
.swiper .swiper-notification {
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  opacity: 0;
  z-index: -1000;
}

.swiper-thumbs {
  .swiper-slide-thumb-active {
    /* Styles for active thumb slide */
  }
}

.swiper-free-mode > .swiper-wrapper {
  transition-timing-function: ease-out;
  margin: 0 auto;
}

.swiper-grid > .swiper-wrapper {
  flex-wrap: wrap;
}

.swiper-grid-column > .swiper-wrapper {
  flex-wrap: wrap;
  flex-direction: column;
}

.swiper-fade {
  &.swiper-free-mode {
    .swiper-slide {
      transition-timing-function: ease-out;
    }
  }
  .swiper-slide {
    pointer-events: none;
    transition-property: opacity;
    .swiper-slide {
      pointer-events: none;
    }
  }
  .swiper-slide-active {
    pointer-events: auto;
    & .swiper-slide-active {
      pointer-events: auto;
    }
  }
}

.swiper.swiper-cube {
  overflow: visible;
}

.swiper-cube {
  .swiper-slide {
    pointer-events: none;
    backface-visibility: hidden;
    z-index: 1;
    visibility: hidden;
    transform-origin: 0 0;
    width: 100%;
    height: 100%;
    .swiper-slide {
      pointer-events: none;
    }
  }
  &.swiper-rtl .swiper-slide {
    transform-origin: 100% 0;
  }
  .swiper-slide-active {
    &,
    & .swiper-slide-active {
      pointer-events: auto;
    }
  }
  .swiper-slide-active,
  .swiper-slide-next,
  .swiper-slide-prev {
    pointer-events: auto;
    visibility: visible;
  }
  .swiper-cube-shadow {
    position: absolute;
    left: 0;
    bottom: 0px;
    width: 100%;
    height: 100%;
    opacity: 0.6;
    z-index: 0;
    &:before {
      content: "";
      background: #000;
      position: absolute;
      left: 0;
      top: 0;
      bottom: 0;
      right: 0;
      filter: blur(50px);
    }
  }
}

.swiper-cube {
  .swiper-slide-next + .swiper-slide {
    pointer-events: auto;
    visibility: visible;
  }
}

/* Cube slide shadows start */
.swiper-cube {
  .swiper-slide-shadow-cube.swiper-slide-shadow-top,
  .swiper-slide-shadow-cube.swiper-slide-shadow-bottom,
  .swiper-slide-shadow-cube.swiper-slide-shadow-left,
  .swiper-slide-shadow-cube.swiper-slide-shadow-right {
    z-index: 0;
    backface-visibility: hidden;
  }
}

/* Cube slide shadows end */
.swiper.swiper-flip {
  overflow: visible;
}

.swiper-flip {
  .swiper-slide {
    pointer-events: none;
    backface-visibility: hidden;
    z-index: 1;
    .swiper-slide {
      pointer-events: none;
    }
  }
  .swiper-slide-active {
    &,
    & .swiper-slide-active {
      pointer-events: auto;
    }
  }
}

/* Flip slide shadows start */
.swiper-flip {
  .swiper-slide-shadow-flip.swiper-slide-shadow-top,
  .swiper-slide-shadow-flip.swiper-slide-shadow-bottom,
  .swiper-slide-shadow-flip.swiper-slide-shadow-left,
  .swiper-slide-shadow-flip.swiper-slide-shadow-right {
    z-index: 0;
    backface-visibility: hidden;
  }
}

/* Flip slide shadows end */
.swiper-creative {
  .swiper-slide {
    backface-visibility: hidden;
    overflow: hidden;
    transition-property: transform, opacity, height;
  }
}

.swiper.swiper-cards {
  overflow: visible;
}

.swiper-cards {
  .swiper-slide {
    transform-origin: center bottom;
    backface-visibility: hidden;
    overflow: hidden;
  }
}

:root {
  --base: #ffffff;
  --black: #121212;
  --white: #ffffff;
  --gradient: #3b82f6;
  --gradient2: #60c7ba;
  --blue-strong: #112562;
  --blue-light: #e5edfa;
  --blue: #3b82f6;
  --blue-low-opacity: #c9d7f2;
  --green: #008000;
  --gray-light: #f5f6f7;
  --gray-medium: #dee2e6;
  --gray-dark: #434343;
  --linkedin: #0073d2;
  --red: #fd5249;
  --error: #fd5249;
  --success: #23a667;
  --light-yellow: #F0C35D;
  --yellow: #E69839;
  --accent: #13163F;
  --dark-android: #263238;
  --dark-android-key: #404B50;
  --dark-android-key-hover: #097CFB;
  --dark-android-key-secondary: #313C42;
  --panel-nav-hover: #f1f3f5;
  --panel-nav-divider: #eef1f5;
  --panel-nav-row-border: #f3f5f8;
  --panel-nav-message: #43474c;
  --panel-nav-time: #9aa1aa;
  --panel-nav-overlay: rgba(15, 23, 32, 0.4);
  --panel-nav-shadow: rgba(15, 23, 32, 0.22);
  --panel-nav-plan-error-bg: #f8e4e4;
  --panel-capture-button-gray: #535454;
  --panel-capture-gradient: #555FA3;
  --view-more-button-background: #d0dff0;
  --landing-text-body: #43474c;
  --landing-text-muted: #6b7280;
  --landing-text-soft: #9aa1aa;
  --landing-border: #e3e6ea;
  --landing-blue-tint: #eaf2fe;
  --landing-gray-track: #f1f3f5;
  --landing-bg-subtle: #fbfcfd;
  --landing-navy: #16233d;
  --landing-navy-deep: #101826;
  --landing-navy-soft: #24375c;
  --landing-navy-border: #21314d;
  --landing-dark-card: #18181b;
  --landing-dark-border: #2a2a30;
  --landing-dark-text: #b9c2d0;
  --landing-dark-muted: #9fb0c8;
  --landing-teal-soft: #a9e2d9;
  --landing-teal-bright: #7be0d2;
  --landing-sky: #84c5d4;
  --landing-teal-navy: #0f2a26;
  --landing-teal-navy-deep: #0c1a18;
  --landing-teal-navy-border: #1c4039;
  --landing-teal-muted: #a9c5c0;
  --landing-teal-pale: #9fe0d6;
  --landing-teal-deep: #1a7f6b;
  --landing-blue-soft: #5b9bff;
  --landing-blue-pale: #8ab4ff;
  --landing-dark-faint: #5e6e86;
  --landing-dark-border-strong: #3a3a42;
  --landing-dark-hover: #23232a;
  --landing-dark-text-bright: #c4c9d0;
  --landing-dark-heading: #e8edf5;
  --landing-dark-note: #8a929c;
  --landing-dark-footer: #0e0e10;
  --panel-home-border: #e5e9ef;
  --panel-home-text-soft: #454b57;
  --panel-home-text-muted: #6b6b6b;
  --panel-home-link: #1565c0;
  --panel-home-row-bg: #f7f9fc;
  --panel-home-row-hover: #eef3fb;
  --panel-home-hero-start: #2059c2;
  --panel-home-hero-end: #2f9a8c;
  --panel-home-badge-red: #dc2626;
  --panel-home-button-blue-bg: #e3edfd;
  --panel-home-button-blue-border: #c3daf8;
  --panel-home-whatsapp-green: #128c4a;
  --panel-home-media-placeholder: #e9edf2;
}

@font-face {
  font-family: "Test domaine display";
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  font-size: normal;
  src: url("https://cdn.photofun.ai/assets/fonts/domaine-sans-font-family/testdomainesanstext-regular.woff2") format("woff2"), url("https://cdn.photofun.ai/assets/fonts/domaine-sans-font-family/testdomainesanstext-regular.woff") format("woff"), url("https://cdn.photofun.ai/assets/fonts/domaine-sans-font-family/testdomainesanstext-regular.otf") format("truetype");
}
@font-face {
  font-family: "Test domaine display";
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  font-size: normal;
  src: url("https://cdn.photofun.ai/assets/fonts/domaine-sans-font-family/testdomainesanstext-bold.woff2") format("woff2"), url("https://cdn.photofun.ai/assets/fonts/domaine-sans-font-family/testdomainesanstext-bold.woff") format("woff"), url("https://cdn.photofun.ai/assets/fonts/domaine-sans-font-family/testdomainesanstext-bold.otf") format("truetype");
}
@font-face {
  font-family: "Customfont";
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  font-size: normal;
  src: local("Archivo"), url("https://cdn.photofun.ai/assets/fonts/customfont-regular-webfont.woff2") format("woff2"), url("https://cdn.photofun.ai/assets/fonts/customfont-regular-webfont.woff") format("woff"), url("https://cdn.photofun.ai/assets/fonts/customfont-regular-webfont.ttf") format("truetype");
}
@font-face {
  font-family: "Customfont";
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  font-size: normal;
  src: local("Archivo"), url("https://cdn.photofun.ai/assets/fonts/customfont-bold-webfont.woff2") format("woff2"), url("https://cdn.photofun.ai/assets/fonts/customfont-bold-webfont.woff") format("woff"), url("https://cdn.photofun.ai/assets/fonts/customfont-bold-webfont.ttf") format("truetype");
}
@font-face {
  font-family: "Customfont";
  font-weight: 400;
  font-style: italic;
  font-display: swap;
  font-size: normal;
  src: local("Archivo"), url("https://cdn.photofun.ai/assets/fonts/customfont-italic-webfont.woff2") format("woff2"), url("https://cdn.photofun.ai/assets/fonts/customfont-italic-webfont.woff") format("woff"), url("https://cdn.photofun.ai/assets/fonts/customfont-italic-webfont.ttf") format("truetype");
}
@font-face {
  font-family: "Customfont";
  font-weight: 700;
  font-style: italic;
  font-display: swap;
  font-size: normal;
  src: local("Archivo"), url("https://cdn.photofun.ai/assets/fonts/customfont-bolditalic-webfont.woff2") format("woff2"), url("https://cdn.photofun.ai/assets/fonts/customfont-bolditalic-webfont.woff") format("woff"), url("https://cdn.photofun.ai/assets/fonts/customfont-bolditalic-webfont.ttf") format("truetype");
}
@font-face {
  font-family: "Customfont";
  font-weight: 500;
  font-style: normal;
  font-display: swap;
  font-size: normal;
  src: local("Archivo"), url("https://cdn.photofun.ai/assets/fonts/customfont-medium-webfont.woff2") format("woff2"), url("https://cdn.photofun.ai/assets/fonts/customfont-medium-webfont.woff") format("woff"), url("https://cdn.photofun.ai/assets/fonts/customfont-medium-webfont.ttf") format("truetype");
}
@font-face {
  font-family: "Customfont";
  font-weight: 500;
  font-style: italic;
  font-display: swap;
  font-size: normal;
  src: local("Archivo"), url("https://cdn.photofun.ai/assets/fonts/customfont-mediumitalic-webfont.woff2") format("woff2"), url("https://cdn.photofun.ai/assets/fonts/customfont-mediumitalic-webfont.woff") format("woff"), url("https://cdn.photofun.ai/assets/fonts/customfont-mediumitalic-webfont.ttf") format("truetype");
}
*,
*:before,
*:after {
  box-sizing: border-box;
  scrollbar-width: thin;
  /* "auto" or "thin"  */
  scrollbar-color: var(--gradient, #3b82f6) var(--gradient2, #60c7ba);
  /* scroll thumb and track */
}

/* Webkit browsers like Chrome, Safari */
::-webkit-scrollbar {
  width: 0.5rem;
  /* width of the entire scrollbar */
}

::-webkit-scrollbar-track {
  background: var(--gradient2, #60c7ba);
  /* color of the tracking area */
}

::-webkit-scrollbar-thumb {
  background: var(--gradient, #3b82f6);
  /* color of the scroll thumb */
  border-radius: 5px;
  border: 1px solid var(--gradient2, #60c7ba);
}

::-webkit-scrollbar-thumb:hover {
  background: var(--gradient, #3b82f6);
  /* color of the scroll thumb on hover */
}

html {
  scroll-behavior: smooth;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-size-adjust: none;
}

html,
body {
  margin: 0;
  padding: 0;
  height: 100%;
  min-height: 100%;
}

html,
body,
div,
span,
object,
iframe,
figure,
h1,
h2,
h3,
h4,
h5,
h6,
p,
.number-of-devices-label,
blockquote,
pre,
a,
code,
em,
img,
small,
strike,
strong,
sub,
sup,
tt,
b,
u,
i,
ol,
ul,
li,
fieldset,
form,
label,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
main,
canvas,
embed,
footer,
header,
nav,
section,
video,
input,
button {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  text-size-adjust: none;
}

input,
textarea,
select {
  touch-action: manipulation; /* Prevents zoom from double-tap */
}

html {
  font-size: 14px;
}

body {
  font-size: 1rem;
  line-height: 1;
  font-family: "Customfont", sans-serif;
  font-weight: normal;
  -webkit-font-smoothing: antialiased;
  color: var(--black, #121212);
  background-color: var(--gray-light, #f5f6f7);
  height: 100%;
  overflow-x: hidden;
  text-rendering: optimizelegibility;
  -webkit-text-size-adjust: 100%; /* Prevents automatic text size adjustments */
  text-size-adjust: 100%;
}

/* Handle safe area insets for devices with notches or rounded corners */
@supports (padding: env(safe-area-inset-top)) {
  body {
    padding-top: env(safe-area-inset-top);
    padding-right: env(safe-area-inset-right);
    padding-bottom: env(safe-area-inset-bottom);
    padding-left: env(safe-area-inset-left);
  }
}
button,
label,
select {
  cursor: pointer;
}

ol {
  font: 500 1rem "Customfont";
  line-height: 1.5;
  list-style-position: inside;
}

a {
  color: var(--green, #008000);
}

picture,
img {
  line-height: 0;
  vertical-align: middle;
}

strong {
  font-weight: bold;
}

input[type=checkbox],
input[type=radio] {
  accent-color: var(--black, #121212);
  cursor: pointer;
}

select {
  background: none;
  border: none;
  font: 500 1rem "Customfont";
}

h1 {
  font: 500 3rem "Customfont";
}
@media only screen and (max-width: 950px) {
  h1 {
    font: 500 2rem "Customfont";
  }
}

h2 {
  font: 400 2rem "Customfont";
}

h3 {
  font: 400 1.5rem "Customfont";
}

h1.bold,
h2.bold,
h3.bold {
  font-weight: bold;
}

label {
  font: 700 1rem "Customfont";
}

input,
.crossed-price {
  font: 400 0.875rem "Customfont";
}

input[type=color] {
  cursor: pointer;
}
input[type=color] + input {
  cursor: pointer;
}

small,
.mini {
  font: 700 0.75rem "Customfont";
}

button:disabled,
button.disabled {
  cursor: not-allowed !important;
  background-color: var(--gray-medium, #dee2e6);
  color: var(--black, #121212);
  opacity: 1;
}

.swiper-item-image {
  width: 100%;
  height: auto;
  max-width: 250px;
  max-height: 60px;
}

.swiper-wrapper {
  cursor: grab;
}

.swiper-slide-description {
  display: flex;
  flex-direction: column;
  max-width: 500px;
}

.swiper-button-next,
.swiper-button-prev {
  background-color: var(--base, #ffffff);
  padding: 2rem;
  border-radius: 100%;
}

.swiper-button-container {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translateX(-50%) translateY(-50%);
  z-index: 1;
  display: flex;
  flex-direction: row;
  gap: 1rem;
}
.swiper-button-container .swiper-button-next,
.swiper-button-container .swiper-button-prev {
  position: unset;
  margin: 0;
  box-shadow: 8px 12px 24px 0px rgba(18, 18, 18, 0.08);
}
.swiper-button-container .swiper-button-next::after,
.swiper-button-container .swiper-button-prev::after {
  content: unset;
}

.language-select-container {
  margin-bottom: 6rem;
  display: flex;
  flex-direction: row;
  justify-content: end;
  width: 100%;
}
@media only screen and (max-width: 1199px) {
  .language-select-container {
    margin-bottom: 0;
  }
}

.language-select {
  cursor: pointer;
  border: 0;
  background: none;
  font-weight: 700;
}

input:focus,
textarea:focus {
  outline: none;
}

@supports (outline-color: transparent) {
  input:focus,
  textarea:focus {
    outline-color: transparent;
  }
}
input[type=checkbox]:focus-visible,
input[type=radio]:focus-visible,
select:focus-visible,
button:focus-visible,
label:focus-visible {
  outline: 2px solid var(--blue, #3b82f6);
  outline-offset: 0.5rem;
}

hr {
  border: 0;
  border-bottom: 2px solid var(--gray-medium, #dee2e6);
  margin-inline: 1rem;
}

.breadcrumbs {
  color: var(--black, #121212);
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  font-weight: bold;
  font-size: 0.8rem;
  gap: 0.5rem;
  list-style: none;
}
.breadcrumbs a {
  color: var(--black, #121212);
}

.modal {
  opacity: 0;
  position: fixed;
  z-index: 4;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100vh;
  overflow: auto;
  background-color: rgba(0, 0, 0, 0.4);
  transition: opacity 0.3s ease;
  display: none;
  z-index: 9999;
}
@starting-style {
  .modal {
    opacity: 0;
  }
}
.modal img {
  image-rendering: optimizequality;
}
.modal .content-modal {
  background-color: var(--white, #ffffff);
  box-shadow: 0 1px 12px rgba(204, 204, 204, 0.25);
  border-radius: 5px;
  margin: 2rem auto;
  padding: 2rem 2rem 4rem;
  position: relative;
  transform: translateY(-50%);
  top: 50%;
  max-width: unset;
}
@media screen and (orientation: landscape) {
  .modal .content-modal {
    transform: unset;
    top: unset;
  }
}
.modal .content-modal .modal-content {
  display: flex;
  flex-direction: column;
  padding: 0;
}
.modal .content-modal .modal-content h1 {
  text-align: center;
}
.modal .content-modal .content-close,
.modal .content-modal .content-close--with-title {
  display: flex;
  flex-direction: row;
  justify-content: end;
  z-index: 99;
  top: 1rem;
  right: 1rem;
}
.modal .content-modal .content-close button.close,
.modal .content-modal .content-close--with-title button.close {
  background: none;
  padding: 0.5rem;
  line-height: 0;
  cursor: pointer;
  font-size: 1.5rem;
  transition: 0.5s;
}
.modal .content-modal .content-close--with-title {
  justify-content: space-between;
}
.modal .content-modal.max-width {
  max-width: calc(1000px + 2rem);
}
.modal.open {
  display: block;
  opacity: 1;
}

.modal-download-event-name {
  font: 500 1rem "Customfont";
}

.modal-download-container {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.modal-download-container-section-container {
  display: flex;
  flex-direction: column;
  font-size: 1.5rem;
  gap: 0.5rem;
  margin-top: 1.5rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
.modal-download-container-section-container:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.modal-download-container-buttons-row {
  display: flex;
  flex-direction: row;
  gap: 1rem;
  align-items: center;
  justify-content: center;
  margin-top: 1rem;
}
.modal-download-container-buttons-row .button-primary {
  min-width: 180px;
  padding: 1rem 2rem;
}

.modal-download-tab-checkbox-container {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  margin-top: 1.5rem;
  margin-bottom: 2rem;
}

.modal-download-tab-checkbox {
  flex-grow: 1;
}
.modal-download-tab-checkbox label {
  cursor: pointer;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  padding: 1rem 0.5rem;
  position: relative;
  text-align: center;
  width: 100%;
}
.modal-download-tab-checkbox label span {
  font-weight: 500;
}
.modal-download-tab-checkbox label p, .modal-download-tab-checkbox label .number-of-devices-label {
  font-size: 0.85rem;
  opacity: 0.7;
}
.modal-download-tab-checkbox label::after {
  background-color: var(--gray-medium, #dee2e6);
  border-radius: 0;
  content: "";
  display: inline-block;
  height: 4px;
  bottom: 0;
  left: 0;
  position: absolute;
  width: 100%;
}
.modal-download-tab-checkbox input:checked + label {
  color: var(--blue, #3b82f6);
  z-index: 1;
}
.modal-download-tab-checkbox input:checked + label::after {
  background-color: var(--blue, #3b82f6);
}

@media only screen and (max-width: 480px) {
  .modal-download .content-modal {
    padding-inline: 1rem;
  }
  .modal-download-tab-checkbox-container {
    margin-bottom: 1.5rem;
  }
  .modal-download-tab-checkbox label {
    padding: 0.75rem 0.25rem;
  }
  .modal-download-tab-checkbox label span {
    font-size: 0.85rem;
  }
  .modal-download-tab-checkbox label p, .modal-download-tab-checkbox label .number-of-devices-label {
    font-size: 0.7rem;
  }
  .modal-download-container-buttons-row {
    flex-direction: column;
  }
  .modal-download-container-buttons-row .button-primary {
    width: 100%;
    min-width: unset;
  }
}
.modal-download-container-button-container,
.view-photos-button-container {
  align-items: left;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-top: 1rem;
}

.view-photos-button-container {
  align-items: center;
}

.modal-error {
  cursor: pointer;
}

.modal-loader .content-modal,
.modal-error .content-modal,
.modal-success .content-modal,
.modal-upload-progress .content-modal {
  max-width: min(700px, 100vw - 2rem);
}

.modal-loader h2,
.modal-error h2,
.modal-success h2 {
  font-weight: 500;
  font-size: 3rem;
  line-height: 116%;
  text-align: center;
}
.modal-loader p, .modal-loader .number-of-devices-label,
.modal-error p,
.modal-error .number-of-devices-label,
.modal-success p,
.modal-success .number-of-devices-label {
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 140%;
  text-align: center;
}

.modal-loader {
  color: var(--black, #121212);
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus {
  -webkit-text-fill-color: var(--black, #121212);
  -webkit-box-shadow: 0 0 0px 40rem var(--gray-light, #f5f6f7) inset;
}

.modal-upload-progress .modal-upload-progress-container {
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-height: 22rem;
}

.progress-bar-container {
  width: 80%;
  margin: 20px auto;
}

.progress-bar {
  position: relative;
  width: 100%;
  background-color: #e0e0e0;
  border-radius: 5px;
  overflow: hidden;
  height: 30px;
}

.progress-bar-fill {
  background-color: #4caf50;
  height: 100%;
  width: 0%;
  transition: width 0.2s ease-in-out;
  z-index: 0;
}
.progress-bar-fill.progress-bar-fill--error {
  background-color: var(--red, #fd5249);
}

.progress-bar-text {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, 0);
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  color: #000;
  z-index: 1;
}

.upload-speed-text {
  text-align: center;
  margin-top: 10px;
  font-size: 14px;
  color: #333;
}

.input-floating-container input:required:valid + label,
.input-floating-container textarea:required:valid + label {
  border-color: var(--black, #121212);
  font-size: 0.75rem;
  transform: translateY(-1rem);
}

.error {
  color: var(--error, #fd5249);
  font: 700 0.8rem "Customfont";
}

/* UTILITY CLASSES */
.none {
  display: none !important;
}

@media only screen and (max-width: 950px) {
  .desktop-only {
    display: none !important;
  }
}
.same-date-picker-btn {
  display: block;
  position: relative;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  background-color: var(--blue, #3b82f6);
  color: var(--white, #ffffff);
  border: none;
  padding: 10px;
  border-radius: 5px;
  z-index: 1000;
}

.mt-1 {
  margin-top: 1rem;
}

.mt-2 {
  margin-top: 2rem;
}

.mt-3 {
  margin-top: 3rem;
}

/**/
/* LOADERS */
.loader {
  width: fit-content;
  margin: 3rem auto;
  animation: rotating 1s infinite linear;
  transform-origin: center;
}
.loader img {
  filter: drop-shadow(0px 0px 1px #373737);
}

@keyframes rotating {
  100% {
    transform: rotate(360deg);
  }
}
/**/
@supports (height: 100dvh) {
  .modal {
    height: 100dvh;
    width: 100dvw;
  }
}
.required-span {
  color: var(--red, #fd5249);
  vertical-align: super;
}

.modal-dell-badges-form {
  background: none !important;
}

/**/
.cookie-consent {
  position: fixed;
  bottom: 1rem;
  right: 1rem;
  z-index: 4000;
  max-width: min(420px, 100vw - 2rem);
  background-color: var(--white, #ffffff);
  border: 1px solid var(--gray-medium, #dee2e6);
  border-radius: 0.5rem;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.18);
  padding: 1.25rem;
  display: none;
  width: 100%;
  max-height: calc(100dvh - 2rem);
  overflow-x: hidden;
  overflow-y: auto;
}
.cookie-consent.open {
  display: block;
}
.cookie-consent h2 {
  font-size: 1.1rem;
  margin-bottom: 0.75rem;
}
.cookie-consent p, .cookie-consent .number-of-devices-label {
  font-size: 0.9rem;
  line-height: 1.4;
}

.cookie-consent__view {
  display: none;
  flex-direction: column;
  gap: 0.75rem;
}
.cookie-consent__view.open {
  display: flex;
}

.cookie-consent__links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.cookie-consent__policy-link {
  color: var(--blue, #3b82f6);
  text-decoration: underline;
  font-weight: 500;
  font-size: 0.9rem;
}

.cookie-consent__buttons {
  display: flex;
  flex-direction: row;
  gap: 0.75rem;
  margin-top: 0.25rem;
}

.cookie-consent__button {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  line-height: 1.2;
  border-radius: 0.5rem;
  padding: 0.75rem 0.5rem;
  font-weight: 600;
  font-size: 0.9rem;
  cursor: pointer;
  border: 1px solid var(--blue, #3b82f6);
  transition: background-color 0.3s ease, color 0.3s ease, opacity 0.3s ease;
}

.cookie-consent__button--configure {
  background-color: var(--black, #121212);
  color: var(--white, #ffffff);
  border-color: var(--black, #121212);
}
.cookie-consent__button--configure:hover {
  opacity: 0.85;
}

.cookie-consent__button--reject {
  background-color: var(--red, #fd5249);
  color: var(--white, #ffffff);
  border-color: var(--red, #fd5249);
}
.cookie-consent__button--reject:hover {
  opacity: 0.85;
}

.cookie-consent__button--accept {
  background-color: var(--blue, #3b82f6);
  color: var(--white, #ffffff);
}
.cookie-consent__button--accept:hover {
  opacity: 0.85;
}

.cookie-consent__accordion {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}
.cookie-consent__accordion details {
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
  padding-bottom: 0.5rem;
}
.cookie-consent__accordion details::details-content {
  block-size: auto;
  overflow: visible;
  content-visibility: visible;
  transition: none;
}
.cookie-consent__accordion summary {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  cursor: pointer;
  padding: 0.5rem 0;
  font-weight: 500;
  line-height: 1.4;
  list-style: none;
}
.cookie-consent__accordion summary::-webkit-details-marker {
  display: none;
}
.cookie-consent__accordion summary span {
  flex: 1;
  min-width: 0;
  overflow-wrap: anywhere;
}
.cookie-consent__accordion details[open] .cookie-consent__chevron {
  transform: rotate(180deg);
}
.cookie-consent__accordion details[open] .cookie-consent__details-body {
  grid-template-rows: 1fr;
}

.cookie-consent__details-body {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.28s ease;
}

.cookie-consent__details-content {
  overflow: hidden;
  min-height: 0;
}
.cookie-consent__details-content p, .cookie-consent__details-content .number-of-devices-label {
  margin-top: 0.5rem;
}

.cookie-consent__checkbox {
  margin: 0;
}

.cookie-consent__chevron {
  margin-left: auto;
  flex-shrink: 0;
  transition: transform 0.3s ease;
}

@media only screen and (max-width: 480px) {
  .cookie-consent {
    left: 1rem;
    right: 1rem;
    bottom: 0.5rem;
    width: auto;
    max-width: unset;
  }
  .cookie-consent__buttons {
    flex-direction: column;
  }
}
@media only screen and (max-width: 950px) {
  .modal-loader h2,
  .modal-error h2,
  .modal-success h2 {
    font-size: 2rem;
  }
  .modal-loader p, .modal-loader .number-of-devices-label,
  .modal-error p,
  .modal-error .number-of-devices-label,
  .modal-success p,
  .modal-success .number-of-devices-label {
    font-size: 0.9rem;
  }
}
.button-danger {
  align-items: center;
  background-color: var(--red, #fd5249);
  border: none;
  border-radius: 0.5rem;
  color: var(--white, #ffffff);
  cursor: pointer;
  display: flex;
  flex-direction: row;
  font-size: 1rem;
  font-weight: bold;
  gap: 0.5rem;
  justify-content: center;
  padding: 0.5rem 1rem;
  transition: opacity 0.5s ease, background-color 0.5s ease;
  width: fit-content;
  word-break: break-word;
}
.button-danger:hover {
  opacity: 0.75;
}

.backoffice-id-td {
  width: 1%;
  white-space: nowrap;
}

.backoffice-id-cell {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.backoffice-plain-id-link {
  font-family: monospace;
  font-size: 0.9rem;
  color: var(--black, #121212);
  text-decoration: underline;
}
.backoffice-plain-id-link:hover {
  text-decoration: none;
}

.backoffice-copy-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 9px;
  border: 1px solid var(--black, #121212);
  border-radius: 4px;
  background-color: var(--black, #121212);
  color: var(--white, #ffffff);
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease;
}
.backoffice-copy-chip:hover {
  background-color: var(--white, #ffffff);
  color: var(--black, #121212);
}
.backoffice-copy-chip:hover img {
  filter: brightness(0);
}
.backoffice-copy-chip .backoffice-copy-chip-text {
  font-family: monospace;
  font-size: 0.9rem;
}
.backoffice-copy-chip img {
  display: block;
  width: 20px;
  height: 20px;
  transition: filter 0.2s ease;
}

.backoffice-open-tab-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 9px;
  border: 1px solid var(--black, #121212);
  border-radius: 4px;
  background-color: var(--black, #121212);
  color: var(--white, #ffffff);
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease;
}
.backoffice-open-tab-chip:hover {
  background-color: var(--white, #ffffff);
  color: var(--black, #121212);
}
.backoffice-open-tab-chip:hover img {
  filter: none;
}
.backoffice-open-tab-chip a {
  color: var(--white, #ffffff);
}
.backoffice-open-tab-chip .backoffice-open-tab-chip-text {
  font-family: monospace;
  font-size: 0.9rem;
}
.backoffice-open-tab-chip img {
  display: block;
  width: 20px;
  height: 20px;
  filter: brightness(0) invert(1);
  transition: filter 0.2s ease;
}

.explore__table a.backoffice-open-tab-chip {
  color: var(--white, #ffffff);
}
.explore__table a.backoffice-open-tab-chip:hover {
  color: var(--black, #121212);
}

.backoffice-copy-icon-chip {
  display: inline-flex;
  align-items: center;
  padding: 4px;
  border: 1px solid var(--black, #121212);
  border-radius: 4px;
  background-color: var(--white, #ffffff);
  line-height: 1;
  cursor: pointer;
  transition: background-color 0.2s ease;
}
.backoffice-copy-icon-chip:hover {
  background-color: var(--black, #121212);
}
.backoffice-copy-icon-chip:hover img {
  filter: none;
}
.backoffice-copy-icon-chip img {
  display: block;
  width: 20px;
  height: 20px;
  filter: brightness(0);
  transition: filter 0.2s ease;
}

.backoffice-filter-chip {
  display: inline-flex;
  align-items: center;
  padding: 4px;
  border: 1px solid var(--black, #121212);
  border-radius: 4px;
  background-color: var(--white, #ffffff);
  line-height: 1;
  cursor: pointer;
  transition: background-color 0.2s ease;
}
.backoffice-filter-chip:hover {
  background-color: var(--black, #121212);
}
.backoffice-filter-chip:hover img {
  filter: brightness(0) invert(1);
}
.backoffice-filter-chip img {
  display: block;
  width: 20px;
  height: 20px;
  transition: filter 0.2s ease;
}

.backoffice__subtitle {
  padding: 1rem;
}

.backoffice__table {
  display: flex;
  flex-direction: column;
  padding: 1rem;
  gap: 2rem;
  word-break: break-word;
}
.backoffice__table time {
  font-size: inherit;
}

.backoffice-main-button {
  padding: 1rem;
}
.backoffice-main-button .button-primary {
  width: 100%;
  padding: 1rem;
}
.backoffice-main-button .button-primary.delete {
  background-color: var(--error, #fd5249);
  color: var(--white, #ffffff);
}
.backoffice-main-button .button-primary.delete:hover {
  background-color: var(--white, #ffffff);
  color: var(--error, #fd5249);
}

.backoffice-kv {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.backoffice-kv .backoffice-kv-toggle-input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
}
.backoffice-kv .backoffice-kv-toggle {
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.35rem 0.75rem;
  border: 1px solid var(--gray-medium, #dee2e6);
  border-radius: 4px;
  font-size: 0.85rem;
  color: var(--gray-dark, #434343);
  cursor: pointer;
}
.backoffice-kv .backoffice-kv-toggle::before {
  content: "";
  width: 14px;
  height: 14px;
  border: 1px solid var(--gray-dark, #434343);
  border-radius: 3px;
}
.backoffice-kv .backoffice-kv-toggle-input:checked ~ .backoffice-kv-toggle {
  border-color: var(--black, #121212);
  color: var(--black, #121212);
}
.backoffice-kv .backoffice-kv-toggle-input:checked ~ .backoffice-kv-toggle::before {
  background-color: var(--black, #121212);
}
.backoffice-kv .backoffice-kv-toggle-input:focus-visible ~ .backoffice-kv-toggle {
  outline: 2px solid var(--blue, #3b82f6);
  outline-offset: 2px;
}
.backoffice-kv .backoffice-kv-grid .backoffice-kv-card--empty {
  display: none;
}
.backoffice-kv .backoffice-kv-toggle-input:checked ~ .backoffice-kv-grid .backoffice-kv-card--empty {
  display: grid;
}
.backoffice-kv details::details-content {
  transition: none;
}

.backoffice-kv-grid {
  display: flex;
  flex-direction: column;
  border: 1px solid var(--gray-medium, #dee2e6);
  border-bottom: none;
  border-radius: 6px;
  overflow: hidden;
}

.backoffice-kv-card {
  display: grid;
  grid-template-columns: minmax(190px, 300px) 1fr;
  align-items: baseline;
  gap: 1rem;
  min-width: 0;
  padding: 0.55rem 0.85rem;
  border-left: 3px solid var(--gray-medium, #dee2e6);
  overflow-wrap: anywhere;
  border-bottom: 1px solid var(--gray-medium, #dee2e6);
}
@media only screen and (max-width: 768px) {
  .backoffice-kv-card {
    grid-template-columns: 1fr;
    gap: 0.2rem;
  }
}

.backoffice-kv-key {
  font-family: monospace;
  font-size: 0.78rem;
  color: var(--landing-text-muted, #6b7280);
}

.backoffice-kv-card--timestamp {
  border-left-color: var(--blue, #3b82f6);
}

.backoffice-kv-card--boolean {
  border-left-color: var(--success, #23a667);
}

.backoffice-kv-card--link {
  border-left-color: var(--yellow, #E69839);
}

.backoffice-kv-card--color {
  border-left-color: var(--landing-teal-deep, #1a7f6b);
}

.backoffice-kv-card--identifier {
  border-left-color: var(--gray-dark, #434343);
}

.backoffice-kv-card--json,
.backoffice-kv-card--long-text {
  border-left-color: var(--landing-navy-soft, #24375c);
}

.backoffice-kv-display {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  font-size: 0.92rem;
  font-weight: 500;
  color: var(--black, #121212);
}
.backoffice-kv-display time {
  font-size: inherit;
}

.backoffice-kv-raw {
  font-family: monospace;
  font-size: 0.85rem;
}

.backoffice-kv-hint {
  font-size: 0.75rem;
  color: var(--landing-text-muted, #6b7280);
}
.backoffice-kv-hint::before {
  content: "↳ ";
}

.backoffice-kv-empty {
  color: var(--landing-text-soft, #9aa1aa);
}

.backoffice-kv-badge {
  align-self: flex-start;
  padding: 2px 10px;
  border-radius: 999px;
  font-size: 0.8rem;
  font-weight: 700;
  color: var(--white, #ffffff);
}
.backoffice-kv-badge--true {
  background-color: var(--success, #23a667);
}
.backoffice-kv-badge--false {
  background-color: var(--gray-dark, #434343);
}

.backoffice-kv-swatch {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: monospace;
  font-size: 0.85rem;
}
.backoffice-kv-swatch i {
  display: block;
  width: 18px;
  height: 18px;
  border: 1px solid var(--gray-dark, #434343);
  border-radius: 3px;
}

.backoffice-kv-copyable {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  overflow-wrap: anywhere;
}

.backoffice-kv-link {
  color: var(--blue, #3b82f6);
  text-decoration: underline;
  overflow-wrap: anywhere;
}
.backoffice-kv-link:hover {
  text-decoration: none;
}

.backoffice-kv-json summary,
.backoffice-kv-long-text summary {
  cursor: pointer;
  font-size: 0.85rem;
  color: var(--blue, #3b82f6);
  overflow-wrap: anywhere;
}
.backoffice-kv-json pre,
.backoffice-kv-json p,
.backoffice-kv-json .number-of-devices-label,
.backoffice-kv-long-text pre,
.backoffice-kv-long-text p,
.backoffice-kv-long-text .number-of-devices-label {
  margin-top: 0.5rem;
  max-height: 320px;
  overflow: auto;
  font-family: monospace;
  font-size: 0.8rem;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.landing-comparator {
  position: relative;
  width: 100%;
  aspect-ratio: 1011/1516;
  overflow: hidden;
  border-radius: 18px;
  background: var(--landing-sky, #84c5d4);
  box-shadow: 0 24px 60px rgba(18, 18, 18, 0.22);
  user-select: none;
  touch-action: pan-y;
}

.landing-comparator__before {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  pointer-events: none;
}

.landing-comparator__after-clip {
  position: absolute;
  inset: 0;
  clip-path: inset(0 0 0 50%);
}

.landing-comparator__after {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  pointer-events: none;
}

.landing-comparator__label {
  position: absolute;
  top: 14px;
  border-radius: 6px;
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--white, #ffffff);
}

.landing-comparator__label--original {
  left: 14px;
  padding: 0.25rem 0.55rem;
  background: rgba(18, 18, 18, 0.6);
  text-shadow: 1px 1px 4px rgba(0, 0, 0, 0.6);
}

.landing-comparator__label--ai {
  right: 14px;
  padding: 0.25rem 0.6rem;
  background: linear-gradient(90deg, var(--gradient, #3b82f6), var(--gradient2, #60c7ba));
}

.landing-comparator__handle {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 3px;
  background: var(--white, #ffffff);
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.4);
  transform: translateX(-50%);
  pointer-events: none;
}

.landing-comparator__handle-circle {
  position: absolute;
  top: 50%;
  left: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--white, #ffffff);
  color: var(--blue, #3b82f6);
  transform: translate(-50%, -50%);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.3);
  transition: transform 0.15s;
}

.landing-comparator:hover .landing-comparator__handle-circle {
  transform: translate(-50%, -50%) scale(1.08);
}

.landing-comparator__range {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  background: transparent;
  opacity: 0;
  cursor: ew-resize;
  -webkit-appearance: none;
  appearance: none;
  touch-action: pan-y;
}
.landing-comparator__range::-webkit-slider-thumb {
  width: 54px;
  height: 100%;
  -webkit-appearance: none;
  cursor: ew-resize;
}
.landing-comparator__range::-moz-range-thumb {
  width: 54px;
  height: 100%;
  border: 0;
  background: transparent;
  cursor: ew-resize;
}

.landing-comparator__hint {
  margin: 0.7rem 0 0;
  text-align: center;
  font-size: 0.85rem;
  color: var(--landing-text-muted, #6b7280);
  font-weight: 600;
}

.receive-photos-lead-body {
  min-height: 100vh;
  min-height: 100dvh;
  margin: 0;
}

.backoffice-app-errors-error-cell {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  max-width: 480px;
}
.backoffice-app-errors-error-cell .backoffice-app-errors-copy-button {
  white-space: nowrap;
  font-size: 12px;
  padding: 6px 12px;
}

.backoffice-app-errors-details {
  max-width: 480px;
}
.backoffice-app-errors-details .backoffice-app-errors-message {
  cursor: pointer;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 480px;
}
.backoffice-app-errors-details .backoffice-app-errors-trace {
  margin-top: 8px;
  padding: 8px;
  max-height: 320px;
  overflow: auto;
  white-space: pre-wrap;
  word-break: break-word;
  font-family: monospace;
  font-size: 12px;
  background-color: var(--gray-light, #f5f6f7);
  border-radius: 6px;
}

.backoffice-capture-sessions-row--in-processing {
  background-color: color-mix(in srgb, var(--yellow, #E69839) 25%, transparent) !important;
}

.backoffice-container__title-container.backoffice-capture-sessions-title-container {
  flex-direction: column;
  align-items: flex-start;
  gap: 0.25rem;
}

.backoffice-capture-sessions-stats {
  font-size: 0.9rem;
  font-weight: 500;
}

.backoffice-capture-sessions-queue-chart {
  margin-left: 1rem;
  margin-right: 1rem;
}

.backoffice-capture-sessions-type-td {
  white-space: nowrap;
}
.backoffice-capture-sessions-type-td .backoffice-capture-sessions-type {
  display: block;
  font-size: 0.85rem;
}
.backoffice-capture-sessions-type-td .backoffice-capture-sessions-sub-type {
  display: block;
  font-size: 0.75rem;
  color: var(--gray-dark, #434343);
}

.backoffice-capture-sessions-photo-td {
  vertical-align: middle;
  text-align: center;
}
.backoffice-capture-sessions-photo-td img {
  display: block;
  margin: 0 auto;
}

.backoffice-capture-sessions-photo-label {
  margin: 0 auto 0.25rem;
  font-size: 0.8rem;
  font-weight: 500;
  text-align: center;
  min-height: 1.2em;
  line-height: 1.2em;
  white-space: nowrap;
  max-width: 150px;
  overflow: hidden;
  text-overflow: ellipsis;
}

.backoffice-capture-sessions-photo-generation-time {
  margin: 0;
  font-size: 0.85rem;
  font-weight: 600;
  text-align: center;
  min-height: 1.2em;
  line-height: 1.2em;
}

.backoffice-capture-sessions-photo-server {
  margin: 0;
  font-size: 0.7rem;
  text-align: center;
  line-height: 1.2em;
  color: var(--gray-dark, #434343);
  white-space: nowrap;
  max-width: 150px;
  overflow: hidden;
  text-overflow: ellipsis;
}

.panel-edit-scenario-button-list {
  align-items: center;
  display: flex;
  flex-direction: row;
  gap: 1rem;
  justify-content: end;
}

.panel-ambiance-create-section {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.panel-ambiance-create-name-input-container {
  max-width: 700px;
  margin: 0 auto;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.panel-ambiance-create-button {
  line-height: 1.5;
  padding: 1.5rem 0.25rem !important;
  width: 100% !important;
}

.panel-ambiance-create-article {
  align-items: stretch;
  display: grid;
  gap: 1rem;
  grid-template-columns: 1fr 1fr;
  justify-content: center;
  margin: 1rem auto 0;
  width: min(1500px, 100%);
}
.panel-ambiance-create-article h2 {
  font: 400 1.5rem "Customfont";
}

.panel-edit-scenario {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.button-primary.panel-edit-scenarion-button-delete {
  align-items: center;
  background-color: var(--white, #ffffff);
  border-radius: 0.5rem;
  color: var(--error, #fd5249);
  display: flex;
  flex-direction: row;
  font-weight: bold;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
}

.panel-edit-scenario-button-container {
  align-items: end;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: end;
}
.panel-edit-scenario-button-container form {
  align-items: end;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.panel-ambiance-result-section {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.create-ambiance-button {
  background-color: #1ABC9C !important;
  color: var(--white, #ffffff) !important;
}

.panel-ambiance-create-button-container {
  margin-top: auto;
}

.ambiance-test-photo-container,
.print-modal-image-container {
  align-items: center;
  display: flex;
  flex-direction: row;
  height: 100%;
  justify-content: center;
  position: relative;
}
.ambiance-test-photo-container .button-primary,
.print-modal-image-container .button-primary {
  bottom: 1rem;
  left: 1rem;
  position: absolute;
}
.ambiance-test-photo-container > img,
.print-modal-image-container > img {
  background-color: var(--gray-medium, #dee2e6);
  border-radius: 0.5rem;
  object-fit: contain;
  width: 100%;
}
.ambiance-test-photo-container .loader,
.print-modal-image-container .loader {
  align-items: center;
  animation: unset;
  display: flex;
  height: 100%;
  flex-direction: column;
  justify-content: center;
  left: 50%;
  margin: 0 auto;
  position: absolute;
  transform: translateY(-50%) translateX(-50%);
  top: 50%;
  width: 100%;
}
.ambiance-test-photo-container .loader img,
.print-modal-image-container .loader img {
  animation: rotating 1.5s infinite linear;
  height: auto;
  max-width: 120px;
  position: absolute;
  width: 100%;
}
.ambiance-test-photo-container .loader::before,
.print-modal-image-container .loader::before {
  content: "";
  background: linear-gradient(90deg, var(--blue, #3b82f6) 50.54%, var(--gradient2, #60c7ba) 81.76%);
  height: 100%;
  left: 0;
  opacity: 0.75;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: -1;
}
.ambiance-test-photo-container .loader-main,
.print-modal-image-container .loader-main {
  align-items: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.event-prompt-textarea {
  field-sizing: content;
  height: 100%;
  line-height: 1rem;
  resize: none;
  width: 100%;
}

.info-button {
  background: none;
  border: 0;
  padding: 0;
  line-height: 1;
}

.input-floating-container .event-prompt-textarea {
  border: none;
  border-bottom: 1px solid var(--black, #121212);
}

.panel-edit-scenario-title-container {
  align-items: center;
  display: grid;
  gap: 1rem;
  grid-template-columns: 1fr 2fr 1fr;
}

#ambiance_loading_photo_section {
  display: flex;
  flex-direction: column;
  justify-content: end;
  margin: 0 auto;
}

.ambiance-test-photo-container {
  align-self: center;
  height: min-content;
  margin: auto;
  width: min-content;
}

.ambiance-test-photo-container > img {
  width: fit-content;
}

.ambiance-test-photo-container .loader::before {
  border-radius: 0.5rem;
}

#ambiance_test_photo_loading_img {
  width: auto;
}

@media only screen and (max-width: 950px) {
  .panel-ambiance-create-article {
    grid-template-columns: 1fr;
    margin: 0 auto;
    row-gap: 3rem;
  }
}
@media only screen and (max-width: 767px) {
  .panel-edit-scenario-title-container {
    grid-template-columns: 1fr;
  }
}
.panel-create-event-container {
  display: flex;
  flex-direction: column;
  gap: 3rem;
  justify-content: center;
  max-width: 750px;
  margin: 0 auto;
}
.panel-create-event-container.devices {
  gap: 3rem;
}

.panel-create-event-title-container {
  align-items: center;
  display: grid;
  gap: 1rem;
  grid-template-columns: 1fr 2fr 1fr;
  margin-bottom: 3rem;
}
@media only screen and (max-width: 767px) {
  .panel-create-event-title-container {
    grid-template-columns: 1fr;
  }
}

.panel-create-event-title {
  width: 100%;
  text-align: center;
}

.panel-create-event-form {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.event-type-radio-inputs-container {
  align-items: center;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 0.5rem;
  row-gap: 0.5rem;
}

.event-type-radio-inputs-container div {
  position: relative;
}

.event-type-radio-inputs-container input {
  appearance: none;
  -webkit-appearance: none;
  border: none;
  border-radius: 0.5rem;
  clip: rect(1px 1px 1px 1px);
  clip: rect(1px, 1px, 1px, 1px);
  display: inline-block !important;
  height: 100%;
  outline: 2px solid var(--blue, #3b82f6);
  outline-offset: 0.5rem;
  overflow: hidden;
  position: absolute !important;
  width: 100%;
  z-index: -1;
}

.event-type-radio-inputs-container input:focus-visible {
  clip: unset;
}

.event-type-radio-inputs-container label {
  align-items: center;
  border: 1px solid var(--black, #121212);
  border-radius: 2rem;
  display: flex;
  font-size: 1rem;
  font-weight: 400;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
}

input[name=ai_event_type]:checked + label {
  background-color: var(--black, #121212) !important;
  color: var(--white, #ffffff) !important;
}
input[name=ai_event_type]:checked + label img {
  filter: contrast(0) brightness(100);
}

.no-ai-effect-container {
  align-items: center;
  background-color: var(--white, #ffffff);
  border-radius: 0.5rem;
  display: flex;
  flex-direction: row;
  gap: 0.5rem;
  justify-content: left;
  margin-top: 1rem;
  padding: 1rem 2rem;
}
.no-ai-effect-container label {
  font: 400 1rem "Customfont";
}

.panel-create-event-sticker-hint {
  color: var(--gray-dark, #434343);
  font-size: 0.9rem;
  line-height: 1.4;
  margin: 0;
}
.panel-create-event-sticker-hint--sub {
  margin-top: 0.5rem;
  padding-left: 0.25rem;
}

.panel-create-event-sticker-field {
  display: flex;
  flex-direction: column;
}

.panel-create-event-sticker-slots-label {
  font-size: 1rem;
  font-weight: 600;
  margin: 0;
}

#panel_create_event_sticker_slots_container {
  margin-top: 1rem;
}
#panel_create_event_sticker_slots_container .input-floating-container {
  margin-top: 2.5rem;
}

#panel_create_event_print_qrcode_position_container {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
  margin-top: 2.5rem;
}

.switch-checkbox {
  background-color: var(--white, #ffffff);
  border: 2px solid var(--black, #121212);
  border-radius: 2rem;
  position: relative;
  width: 2.5rem !important;
  padding: 2px 0.25rem;
  transition: background-color 0.5s ease !important;
}

.switch-checkbox-slider {
  position: relative;
}
.switch-checkbox-slider .button {
  aspect-ratio: 1;
  background-color: var(--black, #121212);
  border-radius: 100%;
  left: 0%;
  position: relative;
  top: 50%;
  transform: translateX(0);
  width: 0.7rem;
  transition: transform 0.5s ease;
}

#ai_event_has_ai_effect_input:checked + .switch-checkbox {
  background-color: var(--blue, #3b82f6);
}

#ai_event_has_ai_effect_input:checked + .switch-checkbox .button,
input[type=checkbox]:checked + .switch-checkbox .button {
  transform: translateX(calc(0.25rem + 100%));
}

.flatpickr-calendar {
  width: 100%;
  max-width: 750px;
}

.flatpickr-innerContainer {
  justify-content: center;
}

.flatpickr-day {
  border-radius: 0.5rem;
  background-color: var(--gray-light, #f5f6f7);
}

.flatpickr-day.today {
  border-color: transparent;
}

/* Canonical PhotoFun toggle switch (default 44x26). The native checkbox is kept
   for accessibility, hidden, and drives the track/knob styles via :checked. */
.chatgpt-switch {
  box-sizing: border-box;
  display: inline-block;
  position: relative;
  width: 38px;
  height: 22px;
  min-width: 38px;
  min-height: 22px;
}

.chatgpt-switch input {
  accent-color: transparent;
  appearance: none;
  -webkit-appearance: none;
  background: transparent;
  border: none;
  height: 100%;
  left: 0;
  margin: 0;
  opacity: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

.chatgpt-switch input:focus-visible {
  opacity: 1;
  outline: 2px solid var(--blue, #3b82f6);
  outline-offset: 0.5rem;
}

.chatgpt-slider {
  cursor: pointer;
  position: absolute;
  inset: 0;
  border-radius: 999px;
  background-color: #DEE2E6;
  transition: background-color 0.2s;
}

.chatgpt-slider:before {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background-color: #fff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
  transition: left 0.2s;
}

input:checked + .chatgpt-slider {
  background-color: #3B82F6;
}

input:checked + .chatgpt-slider:before {
  left: 19px;
}

/* Small variant (32x20) for the dense settings rows inside a container. */
.switch-checkbox-container .chatgpt-switch {
  width: 32px;
  height: 20px;
  min-width: 32px;
  min-height: 20px;
}
.switch-checkbox-container .chatgpt-slider:before {
  top: 3px;
  left: 3px;
  width: 14px;
  height: 14px;
}
.switch-checkbox-container input:checked + .chatgpt-slider:before {
  left: 15px;
}

.panel-create-event-form h2 {
  font: 500 1.1rem "Customfont";
}

.tooltip-content {
  display: none;
  width: 100%;
}

.tooltip-label {
  align-items: end;
  display: flex;
  flex-direction: column;
  left: unset !important;
  position: absolute;
  right: 0;
  top: 0;
}
.tooltip-label:hover {
  cursor: pointer;
}
.tooltip-label:hover .default-image {
  display: none;
}
.tooltip-label:hover .hover-image {
  display: inline-block;
}
.tooltip-label:hover .tooltip-content {
  background-color: var(--white, #ffffff);
  border-radius: 0.5rem;
  display: inline-block;
  font: 500 0.9rem "Customfont";
  padding: 0.5rem;
  z-index: 1;
}

.tooltip-button {
  align-items: end;
  display: flex;
  flex-direction: column;
  z-index: 1;
}
.tooltip-button:hover {
  cursor: pointer;
}
.tooltip-button:hover .default-image {
  display: none;
}
.tooltip-button:hover .hover-image {
  display: inline-block;
}
.tooltip-button:hover .tooltip-content {
  background-color: var(--white, #ffffff);
  border-radius: 0.5rem;
  display: inline-block;
  left: 0;
  z-index: 1;
  position: absolute;
  top: 100%;
  width: min(100%, max-content);
}
.tooltip-button:hover .tooltip-content p, .tooltip-button:hover .tooltip-content .number-of-devices-label {
  font: 500 0.9rem "Customfont" !important;
  padding: 0.5rem !important;
}

.tooltip-row {
  align-items: center;
  display: flex;
  flex-direction: row;
  gap: 0.5rem;
  padding-right: 1rem;
  position: relative;
}

.ai-effect-container-with-sub-element {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.label-data-range-tooltip {
  align-items: center;
  display: flex;
  flex-direction: row;
  gap: 0.5rem;
  width: calc(100% - 1rem);
}
.label-data-range-tooltip img {
  height: 16px;
  width: 16px;
}

.info-modal-button {
  align-items: center;
  appearance: none;
  background: none;
  border: none;
  color: var(--blue, #3b82f6);
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  font-size: 1rem;
  font-weight: 700;
  gap: 0.25rem;
  line-height: 1;
  margin-left: auto;
  transition: filter 0.5s ease;
}
.info-modal-button:hover .default-image, .info-modal-button.active .default-image {
  display: none;
}
.info-modal-button:hover .hover-image, .info-modal-button.active .hover-image {
  display: inline-block;
}
.info-modal-button .default-image,
.info-modal-button .hover-image {
  flex-shrink: 0;
  height: 16px;
  width: 16px;
}
.info-modal-button img {
  image-rendering: optimizeQuality;
}
.info-modal-button .info-modal-button-text {
  position: relative;
  top: 0.75px;
}

.modal-info {
  cursor: pointer;
  text-align: center;
}
.modal-info p, .modal-info .number-of-devices-label {
  font: 500 1.2rem "Customfont";
  line-height: 1.5;
}

.modal-info-main-content {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 3rem;
  justify-content: center;
}

.panel-create-event-button {
  bottom: 1rem;
  position: sticky;
}
@media only screen and (max-width: 950px) {
  .panel-create-event-button {
    bottom: calc(62px + env(safe-area-inset-bottom) + 1rem);
  }
}

.mirror-image-checkbox-list {
  align-items: stretch;
  display: grid;
  gap: 1rem;
  grid-template-columns: 1fr 1fr;
  list-style: none;
  margin-top: 1rem;
}
.mirror-image-checkbox-list li > div {
  height: 100%;
}
.mirror-image-checkbox-list label {
  align-items: start;
  border-radius: 0.5rem;
  box-shadow: 0px 0px 5px 2px rgba(18, 18, 18, 0.08);
  display: flex;
  gap: 1rem;
  padding: 1rem;
  width: 100%;
  height: 100%;
}
@media only screen and (max-width: 399px) {
  .mirror-image-checkbox-list {
    grid-template-columns: 1fr;
  }
}

.mirror-image-checkbox-list--triple-columns {
  grid-template-columns: 1fr 1fr 1fr;
}
@media only screen and (max-width: 500px) {
  .mirror-image-checkbox-list--triple-columns {
    grid-template-columns: 1fr;
  }
}

.ai-event-print-mode-description-container {
  align-items: flex-start;
  justify-content: flex-start;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.ai-event-print-mode-description-container p, .ai-event-print-mode-description-container .number-of-devices-label {
  font: 400 0.9rem Customfont;
}

.panel-create-event-form .mirror-image-custom-radio-container label {
  align-items: start;
  gap: 0.5rem;
}

.panel-create-event-delivery-section,
.panel-create-event-print-section,
.panel-create-event-stickers-section {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.panel-create-event-delivery-section ul,
.panel-create-event-delivery-section .no-ai-effect-container,
.panel-create-event-print-section ul,
.panel-create-event-print-section .no-ai-effect-container,
.panel-create-event-stickers-section ul,
.panel-create-event-stickers-section .no-ai-effect-container {
  margin-top: 0;
}

.backoffice-container__title-container.backoffice-camera-presence-title-container {
  flex-direction: column;
  align-items: flex-start;
  gap: 0.25rem;
}

.backoffice-camera-presence-header-title {
  font-size: 1.15rem;
  font-weight: 600;
  margin: 0;
}

.backoffice-camera-presence-stats {
  font-size: 0.9rem;
  font-weight: 500;
  color: var(--gray-dark, #434343);
}

.backoffice-camera-presence-cards {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 12px 0;
}

.backoffice-camera-presence-card {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 160px;
  background-color: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  padding: 10px 14px;
}
.backoffice-camera-presence-card .backoffice-camera-presence-card-label {
  font-size: 0.8rem;
  color: var(--gray-dark, #434343);
}
.backoffice-camera-presence-card .backoffice-camera-presence-card-value {
  font-size: 1.5rem;
  font-weight: 700;
}

.backoffice-camera-presence-controls {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 8px;
}

.backoffice-camera-presence-refresh {
  display: flex;
  align-items: center;
  gap: 8px;
}

.backoffice-camera-presence-refresh-track {
  width: 120px;
  height: 4px;
  background-color: #e0e0e0;
  border-radius: 2px;
  overflow: hidden;
}

.backoffice-camera-presence-refresh-fill {
  width: 100%;
  height: 100%;
  background-color: #1976d2;
  border-radius: 2px;
  transition: width 0.25s linear;
}

.backoffice-camera-presence-refresh-label {
  font-size: 0.75rem;
  color: var(--gray-dark, #434343);
  white-space: nowrap;
}

.backoffice-camera-presence-timeframes {
  display: flex;
  gap: 4px;
}
.backoffice-camera-presence-timeframes button {
  padding: 6px 14px;
  border: 1px solid #ddd;
  background: #fff;
  cursor: pointer;
  border-radius: 4px;
  font-size: 14px;
}
.backoffice-camera-presence-timeframes button.active {
  background-color: #1976d2;
  color: white;
  border-color: #1976d2;
}
.backoffice-camera-presence-timeframes button:hover:not(.active) {
  background-color: #f5f5f5;
}

.backoffice-camera-presence-chart-card {
  background-color: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  padding: 10px 12px;
  margin-bottom: 12px;
}

.backoffice-camera-presence-legend {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
  margin-bottom: 8px;
  font-size: 12px;
  color: #444;
}

.backoffice-camera-presence-swatch {
  display: inline-block;
  width: 12px;
  height: 12px;
  border-radius: 2px;
  margin-right: 5px;
  vertical-align: middle;
}

.backoffice-camera-presence-swatch-cameras {
  background-color: rgba(33, 150, 243, 0.95);
}

.backoffice-camera-presence-swatch-events {
  background-color: rgba(67, 160, 71, 0.9);
}

.backoffice-camera-presence-chart {
  width: 100%;
  height: 220px;
  position: relative;
}

.backoffice-camera-presence-table-section {
  margin-top: 8px;
}

.backoffice-camera-presence-table-title {
  font-size: 1rem;
  font-weight: 600;
  margin-bottom: 8px;
}

.backoffice-camera-presence-empty {
  text-align: center;
  color: var(--gray-dark, #434343);
  padding: 1rem;
}

.backoffice-camera-presence-badge {
  display: inline-block;
  padding: 0.1em 0.6em;
  border-radius: 1em;
  font-size: 0.78rem;
  font-weight: 700;
  color: var(--white, #ffffff);
  white-space: nowrap;
}

.backoffice-camera-presence-badge--fleet {
  background-color: var(--green, #008000);
}

.backoffice-camera-presence-badge--external {
  background-color: var(--gray-dark, #434343);
}

.backoffice-camera-presence-grid {
  display: inline-flex;
  gap: 2px;
}

.backoffice-camera-presence-grid-cell {
  width: 10px;
  height: 16px;
  border-radius: 2px;
  background-color: #e0e0e0;
}

.backoffice-camera-presence-grid-cell--on {
  background-color: var(--green, #008000);
}

.backoffice-camera-presence-grid-cell--off {
  background-color: var(--red, #fd5249);
}

.cookies-policy-table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 1rem;
  font-size: 0.9rem;
}
.cookies-policy-table th,
.cookies-policy-table td {
  border: 1px solid var(--gray-medium, #dee2e6);
  padding: 0.5rem 0.75rem;
  text-align: left;
  vertical-align: top;
}
.cookies-policy-table th {
  background-color: var(--gray-medium, #dee2e6);
}
.cookies-policy-table code {
  word-break: break-word;
}
@media only screen and (max-width: 600px) {
  .cookies-policy-table {
    font-size: 0.8rem;
  }
  .cookies-policy-table th,
  .cookies-policy-table td {
    padding: 0.4rem 0.5rem;
  }
}

.cookies-policy-manage-button {
  margin-top: 1rem;
  border-radius: 0.5rem;
  padding: 0.75rem 1.5rem;
  font-weight: 600;
  cursor: pointer;
  background-color: var(--blue, #3b82f6);
  color: var(--white, #ffffff);
  border: 1px solid var(--blue, #3b82f6);
  transition: opacity 0.3s ease;
}
.cookies-policy-manage-button:hover {
  opacity: 0.85;
}
@media only screen and (max-width: 600px) {
  .cookies-policy-manage-button {
    display: block;
    margin-left: auto;
    margin-right: auto;
  }
}

.home-body {
  background-color: var(--gray-light, #f5f6f7);
  color: var(--black, #121212);
  display: flex;
  flex-direction: column;
}
.home-body header {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  justify-content: space-between;
  padding: 1rem 2rem;
  z-index: 9;
  width: 100%;
}
@media only screen and (max-width: 768px) {
  .home-body header .logo {
    width: 120px;
    height: 40px;
  }
}
.home-body header .lang-and-whats,
.home-body header .whats a,
.home-body header .login-register,
.home-body header .login a,
.home-body header .register a,
.home-body header .support a {
  display: flex;
  align-items: center;
}
.home-body header .lang-and-whats .language-select,
.home-body header .whats a .language-select,
.home-body header .login-register .language-select,
.home-body header .login a .language-select,
.home-body header .register a .language-select,
.home-body header .support a .language-select {
  color: var(--black, #121212);
}
.home-body header .lang-and-whats {
  gap: 1.5rem;
}
@media only screen and (max-width: 768px) {
  .home-body header .lang-and-whats {
    gap: 1rem;
  }
}
.home-body header .login-register {
  gap: 2.5rem;
  justify-content: end;
}
@media only screen and (max-width: 768px) {
  .home-body header .login-register {
    gap: 1rem;
  }
}
.home-body header .whats a,
.home-body header .login a,
.home-body header .register a,
.home-body header .support a {
  gap: 0.5rem;
  color: var(--black, #121212);
  text-decoration: none;
  font-weight: 700;
}

.home-body header,
.home-body header select,
.home-body header a {
  font-weight: 700;
  font-style: Bold;
  font-size: 1rem;
  line-height: 100%;
  letter-spacing: -2%;
  vertical-align: bottom;
}

.home-main {
  position: relative;
  width: 100%;
  display: flex;
  flex-direction: column;
}
.home-main .video-container {
  width: 100%;
  height: auto;
  background-image: url("https://cdn.photofun.ai/assets/images/poster-desktop.jpg");
  background-size: cover;
  background-position: center;
  cursor: pointer;
}
@media only screen and (max-width: 767px) {
  .home-main .video-container {
    background-image: url("https://cdn.photofun.ai/assets/images/poster-mobile.jpg");
  }
}
.home-main .video-container.video-playing {
  background-image: none;
}
.home-main .video-desktop {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: calc(100vh - 180px);
  object-fit: cover;
  z-index: -1;
}
.home-main .video-overlay {
  position: absolute;
  top: 40%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 2;
  text-align: center;
}
.home-main .video-overlay h3 {
  color: var(--white, #ffffff);
}
.home-main .video-overlay.hidden {
  opacity: 0;
  pointer-events: none;
}
.home-main .free-trial {
  width: 100%;
  height: 180px;
  display: flex;
  justify-content: center;
  align-items: center;
  background: var(--base, #ffffff);
  color: var(--black, #121212);
  gap: 5.438rem;
  position: absolute;
  bottom: 0;
}
.home-main .free-trial h1 {
  white-space: normal;
  max-width: 300px;
  text-align: left;
}
@media only screen and (max-width: 768px) {
  .home-main .free-trial h1 {
    max-width: 100%;
    text-align: center;
  }
}
@media only screen and (max-width: 768px) {
  .home-main .free-trial {
    flex-direction: column;
    gap: 1rem;
  }
}

.button-gradient a,
a.button-gradient,
.button-gradient {
  color: var(--white, #ffffff);
  display: flex;
  flex-direction: row;
  gap: 0.5rem;
  text-decoration: none;
  font-size: initial;
  font-weight: 700;
  width: min(350px, 100%);
  height: 56px;
  border-radius: 0.375rem;
  justify-content: center;
  align-items: center;
  transition: background-position 0.5s ease-in-out;
  padding-inline: 1rem;
  background: linear-gradient(90deg, var(--gradient, #3b82f6) 50.54%, var(--gradient2, #60c7ba) 81.76%);
  background-repeat: no-repeat;
  background-size: 200% 100%;
  background-position: 60% 50%;
}
.button-gradient a:hover, .button-gradient a:active,
a.button-gradient:hover,
a.button-gradient:active,
.button-gradient:hover,
.button-gradient:active {
  background-position: 0% 50%;
}

.button--tall,
a.button--tall {
  border-radius: 6px;
  color: var(--white, #ffffff);
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: -2%;
  padding: 1.25rem 1rem;
  width: fit-content;
}

.home-main-mobile-button {
  display: none !important;
}

@media only screen and (max-width: 950px) {
  .home-body header .language-select {
    padding: 0;
  }
  .home-body header .lang-and-whats {
    gap: 0.75rem;
  }
  .home-body header {
    grid-template-columns: 1fr auto 1fr;
    padding: 1rem;
  }
  .home-body header .whats,
  .home-body header .button-gradient,
  .home-body header .support p,
  .home-body header .support .number-of-devices-label,
  .home-body header .register p,
  .home-body header .register .number-of-devices-label {
    display: none;
  }
  .home-body header .support img,
  .home-body header .register img {
    width: 1rem;
    height: 1rem;
  }
  .home-main-mobile-button {
    display: flex !important;
    position: fixed;
    bottom: 1rem;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1;
  }
}
.landing-body {
  overflow-x: hidden;
  height: auto;
  background-color: var(--base, #ffffff);
  color: var(--black, #121212);
  -webkit-font-smoothing: antialiased;
  line-height: normal;
}

.landing-body img {
  max-width: 100%;
}

@media only screen and (max-width: 860px) {
  .landing-only-desktop {
    display: none !important;
  }
}
.landing-cta-gradient {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  border: 0;
  border-radius: 10px;
  background: linear-gradient(90deg, var(--gradient, #3b82f6), var(--gradient2, #60c7ba));
  background-size: 200% 100%;
  background-position: 70% 50%;
  font-weight: 700;
  color: var(--white, #ffffff);
  text-decoration: none;
  cursor: pointer;
  transition: background-position 0.5s, transform 0.08s;
}
.landing-cta-gradient:hover {
  background-position: 0% 50%;
}
.landing-cta-gradient:active {
  transform: translateY(1px);
}

.landing-gradient-text {
  background: linear-gradient(90deg, var(--gradient, #3b82f6), var(--gradient2, #60c7ba));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.landing-eyebrow {
  margin: 0 0 0.6rem;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.landing-eyebrow--teal {
  color: var(--gradient2, #60c7ba);
  text-align: center;
}

.landing-eyebrow--blue {
  margin-bottom: 0.7rem;
  color: var(--blue, #3b82f6);
}

.landing-whatsapp-icon {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
}

.landing-header__whatsapp .landing-whatsapp-icon {
  width: 18px;
  height: 18px;
}

.landing-photo-caption {
  position: absolute;
  bottom: 8px;
  left: 50%;
  padding: 0.2rem 0.55rem;
  border-radius: 4px;
  background: rgba(18, 18, 18, 0.6);
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--white, #ffffff);
  white-space: nowrap;
  transform: translateX(-50%);
}

.landing-header {
  position: sticky;
  top: 0;
  z-index: 50;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.75rem clamp(1rem, 4vw, 2.5rem);
  border-bottom: 1px solid var(--landing-border, #e3e6ea);
  background: rgba(255, 255, 255, 0.92);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}
.landing-header .landing-header__logo-link {
  display: flex;
  align-items: center;
}
.landing-header .landing-header__logo {
  height: 34px;
  width: auto;
}
.landing-header .landing-header__actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.landing-header .landing-header__whatsapp {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.6rem 0.9rem;
  border-radius: 8px;
  border: 1.5px solid var(--landing-border, #e3e6ea);
  color: var(--black, #121212);
  text-decoration: none;
  font-weight: 700;
  font-size: 0.95rem;
}
.landing-header .landing-header__whatsapp:hover {
  border-color: var(--blue-light, #e5edfa);
  background: var(--blue-light, #e5edfa);
}
.landing-header .landing-header__login {
  display: inline-flex;
  align-items: center;
  padding: 0.6rem 0.9rem;
  border-radius: 8px;
  color: var(--landing-text-body, #43474c);
  text-decoration: none;
  font-weight: 700;
  font-size: 0.95rem;
}
.landing-header .landing-header__login:hover {
  background: var(--landing-gray-track, #f1f3f5);
  color: var(--black, #121212);
}
.landing-header .landing-header__cta {
  padding: 0.65rem 1.1rem;
  border-radius: 8px;
  font-size: 0.95rem;
}

.landing-lang-pills {
  display: flex;
  align-items: center;
  gap: 2px;
  padding: 3px;
  margin-right: 0.25rem;
  border-radius: 999px;
  background: var(--landing-gray-track, #f1f3f5);
}

.landing-lang-pills__button {
  padding: 0.32rem 0.6rem;
  border: 0;
  border-radius: 999px;
  background: transparent;
  font-weight: 700;
  font-size: 0.82rem;
  font-family: inherit;
  color: var(--landing-text-muted, #6b7280);
  cursor: pointer;
  transition: all 0.15s;
}
.landing-lang-pills__button:hover {
  background: rgba(255, 255, 255, 0.65);
  color: var(--black, #121212);
}

.landing-lang-pills__button--active {
  background: var(--white, #ffffff);
  color: var(--black, #121212);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
}

@media only screen and (max-width: 480px) {
  .landing-header {
    gap: 0.5rem;
    padding: 0.6rem 0.75rem;
  }
  .landing-header .landing-header__logo {
    height: 28px;
  }
  .landing-header .landing-header__cta {
    padding: 0.55rem 0.8rem;
    font-size: 0.88rem;
  }
  .landing-lang-pills {
    margin-right: 0;
  }
  .landing-lang-pills__button {
    padding: 0.3rem 0.45rem;
    font-size: 0.78rem;
  }
}
.landing-hero {
  position: relative;
  padding: clamp(2.5rem, 5vw, 4.5rem) clamp(1.25rem, 5vw, 2.5rem) clamp(3rem, 6vw, 5rem);
  background: radial-gradient(1200px 500px at 75% -10%, var(--landing-blue-tint, #eaf2fe) 0%, rgba(234, 242, 254, 0) 60%), var(--white, #ffffff);
}

.landing-hero__inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: clamp(2rem, 4vw, 3.5rem);
  max-width: 1200px;
  margin: 0 auto;
}

.landing-hero__texts {
  flex: 1 1 440px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: clamp(1.4rem, 3vw, 2.1rem);
  min-width: 300px;
}

.landing-hero__title {
  margin: 0;
  font-weight: 700;
  font-size: clamp(2.3rem, 5.4vw, 4rem);
  line-height: 1.04;
  letter-spacing: -0.02em;
}

.landing-hero__subtitle {
  max-width: 560px;
  margin: 0;
  font-size: clamp(1.05rem, 2.4vw, 1.22rem);
  line-height: 1.55;
  color: var(--landing-text-body, #43474c);
}
.landing-hero__subtitle strong {
  color: var(--black, #121212);
}

.landing-hero__cta-group {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.6rem;
}
@media only screen and (max-width: 860px) {
  .landing-hero__cta-group {
    align-items: center;
    width: 100%;
    text-align: center;
  }
}

.landing-hero__cta {
  padding: 1.05rem 1.9rem;
  font-size: 1.05rem;
  box-shadow: 0 10px 26px rgba(59, 130, 246, 0.3);
}

.landing-hero__cta-note {
  margin: 0;
  font-size: 0.9rem;
  color: var(--landing-text-muted, #6b7280);
  font-weight: 600;
}

.landing-hero__comparator-column {
  flex: 1 1 360px;
  display: flex;
  justify-content: center;
  min-width: 280px;
}

.landing-hero__comparator-wrapper {
  width: 100%;
  max-width: 420px;
}

.landing-differentials {
  padding: clamp(3rem, 6vw, 5rem) clamp(1.25rem, 5vw, 2.5rem) clamp(1.25rem, 2.5vw, 1.75rem);
  background: var(--black, #121212);
  color: var(--white, #ffffff);
}

.landing-differentials__inner {
  max-width: 1200px;
  margin: 0 auto;
}

.landing-differentials__title {
  max-width: 760px;
  margin: 0 auto 2.5rem;
  text-align: center;
  font-weight: 700;
  font-size: clamp(1.7rem, 3.6vw, 2.6rem);
  line-height: 1.1;
}

.landing-differentials__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(290px, 100%), 1fr));
  gap: 1.25rem;
}

.landing-differentials__card {
  padding: clamp(1.6rem, 3vw, 2.4rem);
  border-radius: 16px;
}
.landing-differentials__card h3 {
  margin: 0 0 0.6rem;
  font-weight: 700;
  font-size: clamp(1.3rem, 2.6vw, 1.65rem);
}
.landing-differentials__card p, .landing-differentials__card .number-of-devices-label {
  margin: 0;
  font-size: 1.02rem;
  line-height: 1.55;
  color: var(--landing-dark-text, #b9c2d0);
}

.landing-differentials__card--blue {
  border: 1px solid var(--landing-navy-border, #21314d);
  background: linear-gradient(160deg, var(--landing-navy, #16233d), var(--landing-navy-deep, #101826));
}

.landing-differentials__card--teal {
  border: 1px solid var(--landing-teal-navy-border, #1c4039);
  background: linear-gradient(160deg, var(--landing-teal-navy, #0f2a26), var(--landing-teal-navy-deep, #0c1a18));
}
.landing-differentials__card--teal p, .landing-differentials__card--teal .number-of-devices-label {
  color: var(--landing-teal-muted, #a9c5c0);
}

.landing-differentials__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 54px;
  height: 54px;
  margin-bottom: 1.1rem;
  border-radius: 14px;
}

.landing-differentials__icon--blue {
  background: rgba(59, 130, 246, 0.18);
  color: var(--landing-blue-soft, #5b9bff);
}

.landing-differentials__icon--teal {
  background: rgba(96, 199, 186, 0.18);
  color: var(--gradient2, #60c7ba);
}

.landing-proof {
  padding: clamp(0.5rem, 1.5vw, 0.75rem) clamp(1.25rem, 5vw, 2.5rem) clamp(2rem, 4vw, 2.75rem);
  background: var(--black, #121212);
}

.landing-proof__inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: clamp(1.25rem, 4vw, 3rem);
  max-width: 1100px;
  margin: 0 auto;
}

.landing-proof__stat {
  min-width: 110px;
  text-align: center;
}

.landing-proof__stat--wide {
  min-width: 130px;
}

.landing-proof__number {
  font-weight: 700;
  font-size: clamp(1.6rem, 3vw, 2.1rem);
  color: var(--white, #ffffff);
}

.landing-proof__label {
  font-size: 0.9rem;
  color: var(--landing-text-soft, #9aa1aa);
  font-weight: 600;
}

.landing-proof__divider {
  width: 1px;
  height: 38px;
  background: var(--landing-dark-border, #2a2a30);
}

.landing-why {
  padding: clamp(3.5rem, 7vw, 5.5rem) clamp(1.25rem, 5vw, 2.5rem);
  background: var(--gray-light, #f5f6f7);
}

.landing-why__inner {
  max-width: 1200px;
  margin: 0 auto;
}

.landing-why__heading {
  max-width: 680px;
  margin: 0 auto 2.6rem;
  text-align: center;
}
.landing-why__heading h2 {
  margin: 0 0 0.8rem;
  font-weight: 700;
  font-size: clamp(1.8rem, 4vw, 2.7rem);
  line-height: 1.1;
}
.landing-why__heading p, .landing-why__heading .number-of-devices-label {
  margin: 0;
  font-size: clamp(1.02rem, 2.2vw, 1.15rem);
  color: var(--landing-text-muted, #6b7280);
  line-height: 1.5;
}

.landing-why__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(330px, 100%), 1fr));
  gap: 1.1rem;
}

.landing-why__card {
  padding: 1.6rem;
  border-radius: 14px;
  background: var(--white, #ffffff);
  box-shadow: 0 6px 18px rgba(18, 18, 18, 0.06);
}
.landing-why__card h3 {
  margin: 0 0 0.4rem;
  font-weight: 700;
  font-size: 1.18rem;
}
.landing-why__card p, .landing-why__card .number-of-devices-label {
  margin: 0;
  font-size: 0.98rem;
  line-height: 1.5;
  color: var(--landing-text-muted, #6b7280);
}

.landing-why__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  margin-bottom: 1rem;
  border-radius: 12px;
  background: var(--blue-light, #e5edfa);
  color: var(--blue, #3b82f6);
}

.landing-roi {
  padding: clamp(3.5rem, 7vw, 5.5rem) clamp(1.25rem, 5vw, 2.5rem);
  background: var(--white, #ffffff);
}

.landing-roi__inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: clamp(2rem, 5vw, 3.5rem);
  max-width: 1100px;
  margin: 0 auto;
}

.landing-roi__texts {
  flex: 1 1 360px;
  min-width: 300px;
}
.landing-roi__texts h2 {
  margin: 0 0 1rem;
  font-weight: 700;
  font-size: clamp(1.8rem, 4vw, 2.7rem);
  line-height: 1.1;
}

.landing-roi__body {
  margin: 0 0 1.4rem;
  font-size: 1.08rem;
  line-height: 1.55;
  color: var(--landing-text-body, #43474c);
}

.landing-roi__quote {
  padding: 0.4rem 0 0.4rem 1.1rem;
  margin-bottom: 1.6rem;
  border-left: 4px solid var(--gradient2, #60c7ba);
}

.landing-roi__quote-text {
  margin: 0 0 0.4rem;
  font-size: 1.1rem;
  font-style: italic;
  line-height: 1.5;
  color: var(--black, #121212);
}

.landing-roi__quote-author {
  margin: 0;
  font-size: 0.9rem;
  color: var(--landing-text-muted, #6b7280);
  font-weight: 600;
}

.landing-roi__calculator-column {
  flex: 1 1 320px;
  min-width: 280px;
}

.landing-roi__calculator {
  padding: clamp(1.8rem, 4vw, 2.6rem);
  border-radius: 16px;
  background: linear-gradient(160deg, var(--landing-navy, #16233d), var(--landing-navy-deep, #101826));
  color: var(--white, #ffffff);
  box-shadow: 0 20px 50px rgba(15, 27, 51, 0.3);
}

.landing-roi__calculator-label {
  margin: 0 0 1.4rem;
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--landing-blue-pale, #8ab4ff);
  letter-spacing: 0.04em;
}

.landing-roi__events-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.5rem;
  margin-bottom: 0.55rem;
}

.landing-roi__events-label {
  font-size: 1rem;
  color: var(--landing-dark-muted, #9fb0c8);
}

.landing-roi__events-value {
  font-weight: 700;
  font-size: 1.7rem;
  line-height: 1;
  color: var(--white, #ffffff);
}

.landing-roi__events-range {
  width: 100%;
  margin: 0;
  accent-color: var(--gradient2, #60c7ba);
  cursor: pointer;
}

.landing-roi__range-scale {
  display: flex;
  justify-content: space-between;
  margin: 0.2rem 0 1.3rem;
  font-size: 0.72rem;
  color: var(--landing-dark-faint, #5e6e86);
}

.landing-roi__divider {
  height: 1px;
  margin: 0 0 1.1rem;
  background: rgba(255, 255, 255, 0.12);
}

.landing-roi__plan-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.2rem 0 0.7rem;
}

.landing-roi__plan-label {
  font-size: 1rem;
  color: var(--landing-dark-muted, #9fb0c8);
}

.landing-roi__plan-value-group {
  display: flex;
  align-items: baseline;
  gap: 0.3rem;
}

.landing-roi__plan-value {
  font-weight: 700;
  font-size: clamp(1.4rem, 4.5vw, 1.9rem);
  line-height: 1;
  color: var(--white, #ffffff);
}

.landing-roi__plan-per {
  font-size: 0.82rem;
  color: var(--landing-dark-muted, #9fb0c8);
}

.landing-roi__annual-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.9rem 1.1rem;
  border: 1px solid rgba(96, 199, 186, 0.28);
  border-radius: 12px;
  background: rgba(96, 199, 186, 0.14);
}

.landing-roi__annual-label-group {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.landing-roi__annual-label {
  font-size: 1rem;
  color: var(--landing-teal-soft, #a9e2d9);
  font-weight: 600;
}

.landing-roi__annual-badge {
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--landing-teal-bright, #7be0d2);
}

.landing-roi__annual-value {
  font-weight: 700;
  font-size: clamp(1.5rem, 5vw, 2.1rem);
  line-height: 1;
  color: var(--landing-teal-bright, #7be0d2);
}

.landing-roi__annual-per {
  font-size: 0.82rem;
  color: var(--landing-teal-pale, #9fe0d6);
}

.landing-how {
  padding: clamp(3.5rem, 7vw, 5.5rem) clamp(1.25rem, 5vw, 2.5rem);
  background: var(--gray-light, #f5f6f7);
}

.landing-how__inner {
  max-width: 1100px;
  margin: 0 auto;
}
.landing-how__inner h2 {
  margin: 0 0 2.4rem;
  text-align: center;
  font-weight: 700;
  font-size: clamp(1.8rem, 4vw, 2.7rem);
  line-height: 1.1;
}

.landing-how__steps {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 1.25rem;
  margin-bottom: 2.2rem;
}

.landing-how__step {
  padding: 1.8rem;
  border-radius: 16px;
  background: var(--white, #ffffff);
  text-align: center;
  box-shadow: 0 6px 18px rgba(18, 18, 18, 0.06);
}
.landing-how__step h3 {
  margin: 0 0 0.5rem;
  font-weight: 700;
  font-size: 1.2rem;
}
.landing-how__step p, .landing-how__step .number-of-devices-label {
  margin: 0;
  font-size: 0.98rem;
  line-height: 1.5;
  color: var(--landing-text-muted, #6b7280);
  text-wrap: balance;
}

.landing-how__step-number {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  margin: 0 auto 1rem;
  border-radius: 50%;
  background: linear-gradient(90deg, var(--gradient, #3b82f6), var(--gradient2, #60c7ba));
  color: var(--white, #ffffff);
  font-weight: 700;
  font-size: 1.2rem;
}

.landing-how__video-block {
  position: relative;
  overflow: hidden;
  aspect-ratio: 16/9;
  border-radius: 16px;
  background: linear-gradient(135deg, var(--landing-navy, #16233d), var(--landing-navy-deep, #101826));
  box-shadow: 0 16px 44px rgba(15, 27, 51, 0.28);
}

.landing-how__video-iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.landing-gallery {
  padding: clamp(3.5rem, 7vw, 5.5rem) clamp(1.25rem, 5vw, 2.5rem);
  background: var(--white, #ffffff);
}

.landing-gallery__inner {
  max-width: 1200px;
  margin: 0 auto;
}

.landing-gallery__heading {
  max-width: 720px;
  margin: 0 auto 2.6rem;
  text-align: center;
}
.landing-gallery__heading h2 {
  margin: 0 0 0.8rem;
  font-weight: 700;
  font-size: clamp(1.8rem, 4vw, 2.7rem);
  line-height: 1.1;
}
.landing-gallery__heading p, .landing-gallery__heading .number-of-devices-label {
  margin: 0;
  font-size: clamp(1.02rem, 2.2vw, 1.15rem);
  color: var(--landing-text-muted, #6b7280);
  line-height: 1.5;
}

.landing-gallery__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  gap: 0.9rem;
}
@media only screen and (max-width: 360px) {
  .landing-gallery__grid {
    grid-template-columns: repeat(auto-fill, minmax(135px, 1fr));
  }
}

.landing-gallery__item {
  position: relative;
  overflow: hidden;
  aspect-ratio: 246/352;
  border-radius: 12px;
  background: var(--landing-gray-track, #f1f3f5);
  box-shadow: 0 6px 18px rgba(18, 18, 18, 0.08);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.landing-gallery__item:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 30px rgba(18, 18, 18, 0.16);
}
@media (prefers-reduced-motion: reduce) {
  .landing-gallery__item {
    transition: none;
  }
  .landing-gallery__item:hover {
    transform: none;
  }
}

.landing-gallery__variation {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 0.7s ease;
}
.landing-gallery__variation img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media (prefers-reduced-motion: reduce) {
  .landing-gallery__variation {
    transition: none;
  }
}

.landing-gallery__variation--active {
  opacity: 1;
}

.landing-gallery__variation:first-child {
  opacity: 1;
}

.landing-gallery__create-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.8rem;
  aspect-ratio: 246/352;
  border: 2px dashed var(--blue, #3b82f6);
  border-radius: 12px;
  background: var(--landing-blue-tint, #eaf2fe);
  text-decoration: none;
  transition: background 0.15s;
}
.landing-gallery__create-card:hover {
  background: var(--blue-light, #e5edfa);
}

.landing-gallery__create-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: linear-gradient(90deg, var(--gradient, #3b82f6), var(--gradient2, #60c7ba));
  color: var(--white, #ffffff);
}

.landing-gallery__create-text {
  padding: 0 0.75rem;
  font-weight: 700;
  font-size: 1.05rem;
  color: var(--blue, #3b82f6);
  text-align: center;
}

@media only screen and (max-width: 531px) {
  .landing-gallery__create-card {
    grid-column: 1/-1;
    aspect-ratio: auto;
    padding: 1.7rem 1rem;
  }
}
.landing-gallery__foot {
  margin: 1.8rem 0 0;
  text-align: center;
  font-size: 0.92rem;
  color: var(--landing-text-muted, #6b7280);
}
.landing-gallery__foot a {
  color: var(--blue, #3b82f6);
  font-weight: 700;
  text-decoration: none;
}
.landing-gallery__foot a:hover {
  text-decoration: underline;
}

.landing-pricing {
  padding: clamp(3.5rem, 7vw, 5.5rem) clamp(1.25rem, 5vw, 2.5rem);
  background: var(--black, #121212);
  color: var(--white, #ffffff);
}

.landing-pricing__inner {
  max-width: 1150px;
  margin: 0 auto;
}

.landing-pricing__heading {
  max-width: 720px;
  margin: 0 auto 1.4rem;
  text-align: center;
}
.landing-pricing__heading h2 {
  margin: 0 0 0.7rem;
  font-weight: 700;
  font-size: clamp(1.9rem, 4.2vw, 2.8rem);
  line-height: 1.1;
}
.landing-pricing__heading p, .landing-pricing__heading .number-of-devices-label {
  margin: 0;
  font-size: clamp(1.02rem, 2.2vw, 1.18rem);
  color: var(--landing-dark-text, #b9c2d0);
  line-height: 1.5;
}

.landing-pricing__reminder {
  max-width: 780px;
  margin: 0 auto 2.4rem;
  padding: 0.9rem 1.2rem;
  border: 1px solid rgba(96, 199, 186, 0.3);
  border-radius: 12px;
  background: rgba(96, 199, 186, 0.12);
  text-align: center;
  font-size: 0.98rem;
  color: var(--landing-teal-soft, #a9e2d9);
  font-weight: 600;
}

.landing-pricing__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 2.4rem 1.25rem;
  align-items: stretch;
}

.landing-pricing__card {
  display: flex;
  flex-direction: column;
  padding: 1.9rem;
  border: 1px solid var(--landing-dark-border, #2a2a30);
  border-radius: 16px;
  background: var(--landing-dark-card, #18181b);
}
.landing-pricing__card h3 {
  margin: 0 0 0.3rem;
  font-weight: 700;
  font-size: 1.3rem;
}

.landing-pricing__card--featured {
  position: relative;
  border: 1.5px solid var(--blue, #3b82f6);
  background: linear-gradient(165deg, var(--landing-navy, #16233d), var(--landing-navy-deep, #101826));
  box-shadow: 0 18px 50px rgba(59, 130, 246, 0.25);
  transform: translateY(-6px);
}
.landing-pricing__card--featured h3 {
  margin: 0.4rem 0 0.3rem;
}

.landing-pricing__badge {
  position: absolute;
  top: -13px;
  left: 50%;
  padding: 0.35rem 0.9rem;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--gradient, #3b82f6), var(--gradient2, #60c7ba));
  white-space: nowrap;
  color: var(--white, #ffffff);
  font-weight: 700;
  font-size: 0.78rem;
  transform: translateX(-50%);
  box-shadow: 0 6px 16px rgba(59, 130, 246, 0.4);
}

.landing-pricing__card-for {
  min-height: 2.4em;
  margin: 0 0 1.2rem;
  font-size: 0.9rem;
  color: var(--landing-text-soft, #9aa1aa);
}

.landing-pricing__price-row {
  display: flex;
  align-items: baseline;
  gap: 0.35rem;
  margin-bottom: 0.3rem;
}

.landing-pricing__price {
  font-weight: 700;
  font-size: 2.4rem;
  line-height: 1;
}

.landing-pricing__price--featured {
  font-size: 2.6rem;
}

.landing-pricing__price-unit {
  font-size: 0.95rem;
  color: var(--landing-text-soft, #9aa1aa);
}

.landing-pricing__price-unit--featured {
  color: var(--landing-dark-muted, #9fb0c8);
}

.landing-pricing__annual-note {
  margin: 0.4rem 0 0;
  font-size: 0.92rem;
  color: var(--landing-teal-bright, #7be0d2);
  font-weight: 600;
}

.landing-pricing__card-divider {
  height: 1px;
  margin: 1.4rem 0;
  background: var(--landing-dark-border, #2a2a30);
}

.landing-pricing__card-divider--featured {
  background: rgba(255, 255, 255, 0.12);
}

.landing-pricing__cta-outline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: auto;
  padding: 0.9rem 1rem;
  border: 1.5px solid var(--landing-dark-border-strong, #3a3a42);
  border-radius: 10px;
  background: transparent;
  font-weight: 700;
  font-size: 1rem;
  color: var(--white, #ffffff);
  text-decoration: none;
  transition: background 0.15s;
}
.landing-pricing__cta-outline:hover {
  background: var(--landing-dark-hover, #23232a);
}

.landing-pricing__cta-featured {
  margin-top: auto;
  padding: 1rem;
  font-size: 1.02rem;
}

.landing-pricing__included {
  margin-top: 2.4rem;
  padding: clamp(1.4rem, 3vw, 2rem);
  border: 1px solid var(--landing-dark-border, #2a2a30);
  border-radius: 16px;
  background: var(--landing-dark-card, #18181b);
}

.landing-pricing__included-title {
  margin: 0 0 1.1rem;
  font-weight: 700;
  font-size: 1.05rem;
  color: var(--white, #ffffff);
}

.landing-pricing__included-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 0.7rem 1.5rem;
}

.landing-pricing__included-item {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  font-size: 0.95rem;
  color: var(--landing-dark-text-bright, #c4c9d0);
}
.landing-pricing__included-item svg {
  flex-shrink: 0;
}

.landing-pricing__payment {
  margin-top: 1.6rem;
}

.landing-pricing__payment-line {
  margin: 0 0 0.5rem;
  font-size: 0.95rem;
  color: var(--landing-dark-text, #b9c2d0);
}

.landing-pricing__payment-devices {
  margin: 0;
  font-size: 0.88rem;
  color: var(--landing-text-soft, #9aa1aa);
}

@media only screen and (max-width: 600px) {
  .landing-pricing__grid {
    gap: 1.6rem 1.25rem;
  }
  .landing-pricing__card {
    display: grid;
    grid-template-columns: 1fr auto;
    column-gap: 0.9rem;
    align-items: center;
    padding: 1.2rem 1.4rem;
  }
  .landing-pricing__card h3 {
    grid-area: 1/1;
    margin: 0;
  }
  .landing-pricing__card .landing-pricing__card-for {
    grid-area: 2/1;
    min-height: 0;
    margin: 0;
  }
  .landing-pricing__card .landing-pricing__price-row {
    grid-area: 1/2;
    justify-self: end;
    margin: 0;
  }
  .landing-pricing__card .landing-pricing__annual-note {
    grid-area: 2/2;
    justify-self: end;
    margin: 0;
    text-align: right;
  }
  .landing-pricing__card .landing-pricing__card-divider {
    grid-area: 3/1/4/3;
    margin: 1rem 0;
  }
  .landing-pricing__card .landing-pricing__cta-outline,
  .landing-pricing__card .landing-pricing__cta-featured {
    grid-area: 4/1/5/3;
  }
  .landing-pricing__card--featured {
    padding-top: 1.6rem;
    transform: none;
  }
  .landing-pricing__card--featured h3 {
    margin: 0;
  }
  .landing-pricing__price {
    font-size: 1.8rem;
  }
  .landing-pricing__price--featured {
    font-size: 1.9rem;
  }
}
.landing-comparison {
  padding: clamp(3.5rem, 7vw, 5.5rem) clamp(1.25rem, 5vw, 2.5rem);
  background: var(--white, #ffffff);
}

.landing-comparison__inner {
  max-width: 980px;
  margin: 0 auto;
}
.landing-comparison__inner h2 {
  margin: 0 0 2.4rem;
  text-align: center;
  font-weight: 700;
  font-size: clamp(1.8rem, 4vw, 2.7rem);
  line-height: 1.1;
}

.landing-comparison__table {
  overflow: hidden;
  border: 1px solid var(--landing-border, #e3e6ea);
  border-radius: 16px;
  box-shadow: 0 6px 18px rgba(18, 18, 18, 0.06);
}

.landing-comparison__header-row {
  display: grid;
  grid-template-columns: 1.3fr 1fr 1fr;
  background: var(--gray-light, #f5f6f7);
  font-weight: 700;
  font-size: clamp(0.82rem, 2vw, 1rem);
}

.landing-comparison__header-feature {
  padding: 1rem clamp(0.8rem, 2vw, 1.4rem);
}

.landing-comparison__header-photofun {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem clamp(0.6rem, 2vw, 1.2rem);
  background: var(--landing-blue-tint, #eaf2fe);
  text-align: center;
  color: var(--blue, #3b82f6);
}

.landing-comparison__header-competitor {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem clamp(0.6rem, 2vw, 1.2rem);
  text-align: center;
  color: var(--landing-text-muted, #6b7280);
}

.landing-comparison__row {
  display: grid;
  grid-template-columns: 1.3fr 1fr 1fr;
  align-items: center;
}

.landing-comparison__row--zebra {
  background: var(--landing-bg-subtle, #fbfcfd);
}

.landing-comparison__feature {
  padding: 0.95rem clamp(0.8rem, 2vw, 1.4rem);
  font-weight: 700;
  font-size: clamp(0.82rem, 2vw, 0.98rem);
  color: var(--black, #121212);
}

.landing-comparison__photofun {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  height: 100%;
  padding: 0.95rem clamp(0.5rem, 1.5vw, 1rem);
  background: rgba(96, 199, 186, 0.07);
  text-align: center;
  font-size: clamp(0.8rem, 2vw, 0.95rem);
  color: var(--landing-teal-deep, #1a7f6b);
  font-weight: 600;
}
.landing-comparison__photofun svg {
  flex-shrink: 0;
}

.landing-comparison__competitor {
  padding: 0.95rem clamp(0.5rem, 1.5vw, 1rem);
  text-align: center;
  font-size: clamp(0.8rem, 2vw, 0.92rem);
  color: var(--landing-text-muted, #6b7280);
}

.landing-testimonials {
  padding: clamp(3.5rem, 7vw, 5.5rem) clamp(1.25rem, 5vw, 2.5rem);
  background: var(--gray-light, #f5f6f7);
}

.landing-testimonials__inner {
  max-width: 1150px;
  margin: 0 auto;
}
.landing-testimonials__inner h2 {
  margin: 0 0 2.4rem;
  text-align: center;
  font-weight: 700;
  font-size: clamp(1.8rem, 4vw, 2.7rem);
  line-height: 1.1;
}

.landing-testimonials__featured {
  display: flex;
  flex-wrap: wrap;
  gap: clamp(1.2rem, 3vw, 2.2rem);
  align-items: stretch;
  padding: clamp(1.4rem, 3vw, 2rem);
  margin-bottom: 1.5rem;
  border-radius: 16px;
  background: linear-gradient(160deg, var(--landing-navy, #16233d), var(--landing-navy-deep, #101826));
  color: var(--white, #ffffff);
  box-shadow: 0 16px 44px rgba(15, 27, 51, 0.22);
}

.landing-testimonials__video {
  position: relative;
  flex: 0 0 auto;
  align-self: center;
  width: clamp(220px, 60vw, 300px);
  overflow: hidden;
  aspect-ratio: 9/16;
  margin: 0 auto;
  border-radius: 14px;
  background: linear-gradient(135deg, var(--landing-navy-soft, #24375c), var(--landing-navy, #16233d));
}

.landing-testimonials__video-iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.landing-testimonials__featured-text {
  flex: 1 1 320px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 280px;
}

.landing-testimonials__quote-icon {
  margin-bottom: 1rem;
}

.landing-testimonials__featured-quote {
  margin: 0 0 1.2rem;
  font-size: clamp(1rem, 1.9vw, 1.18rem);
  line-height: 1.5;
  font-weight: 500;
}

.landing-testimonials__featured-author {
  margin: 0;
  font-size: 0.95rem;
  color: var(--landing-dark-muted, #9fb0c8);
  font-weight: 700;
}

.landing-testimonials__featured-author-name {
  display: block;
  color: var(--landing-dark-heading, #e8edf5);
}

.landing-testimonials__featured-author-company {
  display: block;
  font-weight: 400;
  font-style: italic;
  color: var(--landing-dark-muted, #9fb0c8);
}

.landing-testimonials__slider {
  position: relative;
  padding: 0 3.6rem;
}
.landing-testimonials__slider .swiper-button-prev,
.landing-testimonials__slider .swiper-button-next {
  position: absolute;
  top: calc(50% + -0.625rem);
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 0;
  margin-top: 0;
  transform: translateY(-50%);
  color: var(--blue, #3b82f6);
  border: none;
  box-shadow: 8px 12px 24px 0px rgba(18, 18, 18, 0.08);
  cursor: pointer;
  transition: background-color 0.2s ease, transform 0.15s ease, box-shadow 0.2s ease;
}
.landing-testimonials__slider .swiper-button-prev svg,
.landing-testimonials__slider .swiper-button-next svg {
  display: none;
}
.landing-testimonials__slider .swiper-button-prev .landing-testimonials__nav-icon,
.landing-testimonials__slider .swiper-button-next .landing-testimonials__nav-icon {
  display: block;
  width: 22px;
  height: 22px;
  fill: none;
}
.landing-testimonials__slider .swiper-button-prev::after,
.landing-testimonials__slider .swiper-button-next::after {
  content: none;
}
.landing-testimonials__slider .swiper-button-prev:hover,
.landing-testimonials__slider .swiper-button-next:hover {
  background-color: var(--blue-light, #e5edfa);
  transform: translateY(-50%) scale(1.08);
  box-shadow: 0 10px 26px rgba(18, 18, 18, 0.14);
}
.landing-testimonials__slider .swiper-button-prev:active,
.landing-testimonials__slider .swiper-button-next:active {
  transform: translateY(-50%) scale(0.95);
}
.landing-testimonials__slider .swiper-button-prev:focus-visible,
.landing-testimonials__slider .swiper-button-next:focus-visible {
  outline: 2px solid var(--blue, #3b82f6);
  outline-offset: 2px;
}
.landing-testimonials__slider .swiper-button-prev.swiper-button-disabled,
.landing-testimonials__slider .swiper-button-next.swiper-button-disabled {
  opacity: 0.35;
  box-shadow: none;
  pointer-events: none;
}
.landing-testimonials__slider .swiper-button-prev {
  left: 0;
}
.landing-testimonials__slider .swiper-button-prev .landing-testimonials__nav-icon {
  transform: translateX(-1px);
}
.landing-testimonials__slider .swiper-button-next {
  right: 0;
}
.landing-testimonials__slider .swiper-button-next .landing-testimonials__nav-icon {
  transform: translateX(1px);
}
@media only screen and (max-width: 620px) {
  .landing-testimonials__slider {
    padding: 0 3rem;
  }
  .landing-testimonials__slider .swiper-button-prev,
  .landing-testimonials__slider .swiper-button-next {
    width: 40px;
    height: 40px;
  }
  .landing-testimonials__slider .swiper-button-prev .landing-testimonials__nav-icon,
  .landing-testimonials__slider .swiper-button-next .landing-testimonials__nav-icon {
    width: 20px;
    height: 20px;
  }
}

.landing-testimonials__swiper {
  padding: 0.5rem 0 1.75rem;
  margin: -0.5rem 0 -1.75rem;
}

.landing-testimonials__card {
  display: flex;
  flex-direction: column;
  height: auto;
  padding: 1.6rem;
  border-radius: 14px;
  background: var(--white, #ffffff);
  box-shadow: 0 6px 18px rgba(18, 18, 18, 0.06);
}

.landing-testimonials__card-quote {
  margin: 0 0 1rem;
  font-size: 1rem;
  line-height: 1.55;
  color: var(--landing-text-body, #43474c);
}

.landing-testimonials__card-author {
  margin: auto 0 0;
  font-weight: 700;
  font-size: 0.9rem;
  color: var(--black, #121212);
  text-align: right;
}

.landing-testimonials__card-author-name {
  display: block;
}

.landing-testimonials__card-author-company {
  display: block;
  font-weight: 400;
  font-style: italic;
  font-size: 0.85rem;
  color: var(--landing-text-muted, #6b7280);
}

.landing-faq {
  padding: clamp(3.5rem, 7vw, 5.5rem) clamp(1.25rem, 5vw, 2.5rem);
  background: var(--white, #ffffff);
}

.landing-faq__inner {
  max-width: 780px;
  margin: 0 auto;
}
.landing-faq__inner h2 {
  margin: 0 0 2.4rem;
  text-align: center;
  font-weight: 700;
  font-size: clamp(1.8rem, 4vw, 2.7rem);
  line-height: 1.1;
}

.landing-faq__list {
  display: flex;
  flex-direction: column;
  gap: 0.7rem;
}

.landing-faq__item {
  overflow: hidden;
  border: 1px solid var(--landing-border, #e3e6ea);
  border-radius: 12px;
  background: var(--white, #ffffff);
}

.landing-faq__item--open {
  background: var(--landing-bg-subtle, #fbfcfd);
}

.landing-faq__question {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  width: 100%;
  padding: 1.05rem 1.2rem;
  border: 0;
  background: transparent;
  text-align: left;
  font-weight: 700;
  font-size: clamp(0.98rem, 2.2vw, 1.08rem);
  color: var(--black, #121212);
  font-family: inherit;
  cursor: pointer;
  transition: background 0.15s;
}
.landing-faq__question:hover {
  background: var(--gray-light, #f5f6f7);
}

.landing-faq__icon {
  flex-shrink: 0;
  transition: transform 0.2s;
}

.landing-faq__item--open .landing-faq__icon {
  transform: rotate(45deg);
}

.landing-faq__answer {
  display: none;
  padding: 0 1.2rem 1.2rem;
  font-size: 1rem;
  line-height: 1.6;
  color: var(--landing-text-body, #43474c);
}

.landing-faq__item--open .landing-faq__answer {
  display: block;
}

.landing-faq__foot {
  margin: 1.8rem 0 0;
  text-align: center;
  font-size: 0.92rem;
  color: var(--landing-text-muted, #6b7280);
}
.landing-faq__foot a {
  color: var(--blue, #3b82f6);
  font-weight: 700;
  text-decoration: none;
}
.landing-faq__foot a:hover {
  text-decoration: underline;
}

.landing-custom {
  padding: clamp(3.5rem, 7vw, 5.5rem) clamp(1.25rem, 5vw, 2.5rem);
  background: var(--black, #121212);
  color: var(--white, #ffffff);
}

.landing-custom__inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: clamp(2rem, 5vw, 3.5rem);
  max-width: 1100px;
  margin: 0 auto;
}

.landing-custom__texts {
  flex: 1 1 420px;
  min-width: 300px;
  text-align: left;
}
.landing-custom__texts h2 {
  margin: 0 0 1.1rem;
  font-weight: 700;
  font-size: clamp(1.8rem, 4vw, 2.7rem);
  line-height: 1.12;
}
.landing-custom__texts p, .landing-custom__texts .number-of-devices-label {
  max-width: 620px;
  margin: 0;
  font-size: clamp(1.05rem, 2.4vw, 1.2rem);
  line-height: 1.6;
  color: var(--landing-dark-text, #b9c2d0);
}

.landing-custom__badge {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.4rem 0.9rem;
  margin-bottom: 1.4rem;
  border-radius: 999px;
  border: 1px solid rgba(96, 199, 186, 0.3);
  background: rgba(96, 199, 186, 0.14);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--landing-teal-bright, #7be0d2);
}

.landing-custom__cta-column {
  flex: 0 1 380px;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.9rem;
  min-width: 300px;
}

.landing-custom__cta {
  padding: 1.15rem 1.4rem;
  font-size: 1.08rem;
  white-space: nowrap;
  box-shadow: 0 12px 30px rgba(59, 130, 246, 0.28);
}
@media only screen and (max-width: 480px) {
  .landing-custom__cta {
    white-space: normal;
  }
}

.landing-custom__cta-note {
  margin: 0;
  font-size: 0.85rem;
  color: var(--landing-dark-note, #8a929c);
  text-align: center;
}

.landing-final-cta {
  padding: clamp(3.5rem, 7vw, 5rem) clamp(1.25rem, 5vw, 2.5rem);
  background: linear-gradient(120deg, var(--gradient, #3b82f6), var(--gradient2, #60c7ba));
  color: var(--white, #ffffff);
  text-align: center;
}

.landing-final-cta__inner {
  max-width: 760px;
  margin: 0 auto;
}
.landing-final-cta__inner h2 {
  margin: 0 0 1.4rem;
  font-weight: 700;
  font-size: clamp(1.9rem, 4.4vw, 2.9rem);
  line-height: 1.12;
}

.landing-final-cta__buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  justify-content: center;
}

.landing-final-cta__primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 1.05rem 1.6rem;
  border: 1.5px solid var(--white, #ffffff);
  border-radius: 10px;
  background: var(--white, #ffffff);
  font-weight: 700;
  font-size: 1.08rem;
  line-height: 1.4;
  color: var(--blue, #3b82f6);
  text-decoration: none;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.18);
  transition: transform 0.15s, box-shadow 0.15s;
}
.landing-final-cta__primary:hover {
  transform: translateY(-1px);
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.24);
}
.landing-final-cta__primary:active {
  transform: translateY(1px);
}

.landing-final-cta__whatsapp {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 1.05rem 1.6rem;
  border: 1.5px solid rgba(255, 255, 255, 0.6);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.15);
  font-weight: 700;
  font-size: 1.08rem;
  line-height: 1.4;
  color: var(--white, #ffffff);
  text-decoration: none;
}
.landing-final-cta__whatsapp:hover {
  background: rgba(255, 255, 255, 0.25);
}

@media only screen and (max-width: 560px) {
  .landing-final-cta__primary,
  .landing-final-cta__whatsapp {
    width: 100%;
  }
}
.landing-footer {
  padding: 1.1rem clamp(1.25rem, 5vw, 2.5rem);
  background: var(--landing-dark-footer, #0e0e10);
  color: var(--landing-text-soft, #9aa1aa);
}

.landing-footer__inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.6rem 1.4rem;
  justify-content: space-between;
  max-width: 1150px;
  margin: 0 auto;
  font-size: 0.82rem;
}

.landing-footer__links {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
  align-items: center;
}
.landing-footer__links a {
  color: var(--landing-text-soft, #9aa1aa);
  text-decoration: none;
}
.landing-footer__links a:hover {
  color: var(--white, #ffffff);
}

.landing-footer__icon-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.landing-footer__icon-link .landing-whatsapp-icon {
  width: 17px;
  height: 17px;
}

.landing-footer__credit {
  font-size: 0.78rem;
}

@media only screen and (max-width: 860px) {
  .landing-footer {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 60;
    padding: 0.55rem 1rem calc(0.55rem + env(safe-area-inset-bottom));
    border-top: 1px solid var(--landing-dark-border, #2a2a30);
  }
  .landing-final-cta {
    padding-bottom: calc(clamp(3.5rem, 7vw, 5rem) + calc(17px + 2 * 0.55rem + 1px));
  }
  .landing-footer__inner {
    justify-content: center;
    gap: 0.3rem 0.55rem;
  }
  .landing-footer__links {
    gap: 0.55rem;
    font-size: 0.72rem;
  }
  .landing-footer__credit {
    font-size: 0.72rem;
  }
  .landing-footer__credit-detail {
    display: none;
  }
}
.backoffice-custom-project-briefing-status {
  display: inline-block;
  margin-left: 0.75rem;
  padding: 0.25rem 0.625rem;
  border-radius: 62.4375rem;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.025rem;
  vertical-align: middle;
  width: fit-content;
}
.backoffice-custom-project-briefing-status--new {
  background-color: color-mix(in srgb, var(--yellow, #E69839) 18%, transparent);
  color: var(--red, #fd5249);
}
.backoffice-custom-project-briefing-status--handled {
  background-color: color-mix(in srgb, var(--success, #23a667) 18%, transparent);
  color: var(--success, #23a667);
}

.backoffice-custom-project-briefing-actions {
  display: flex;
  gap: 0.75rem;
  margin: 1rem 1rem 1.5rem;
}

.backoffice-custom-project-briefing-event {
  margin: 1.5rem 1rem;
}

.backoffice-custom-project-briefing-linked-event {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.75rem 1rem;
  border: 1px solid var(--gray-medium, #dee2e6);
  border-radius: 0.5rem;
}
.backoffice-custom-project-briefing-linked-event__info {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
  text-decoration: none;
  color: inherit;
}
.backoffice-custom-project-briefing-linked-event__info strong {
  font-size: 1rem;
}
.backoffice-custom-project-briefing-linked-event__info span {
  font-size: 0.75rem;
  color: var(--gray-dark, #434343);
}

.backoffice-custom-project-briefing-event-picker {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.backoffice-custom-project-briefing-event-picker__input {
  width: 100%;
  padding: 0.5rem 0.75rem;
  border: 1px solid var(--gray-medium, #dee2e6);
  border-radius: 0.375rem;
  font-size: 0.875rem;
}
.backoffice-custom-project-briefing-event-picker__results {
  list-style: none;
  margin: 0;
  padding: 0;
  max-height: 18rem;
  overflow-y: auto;
}
.backoffice-custom-project-briefing-event-picker__results li {
  margin: 0;
  padding: 0;
}
.backoffice-custom-project-briefing-event-picker__result {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.125rem;
  width: 100%;
  padding: 0.5rem 0.75rem;
  background: transparent;
  border: 1px solid transparent;
  border-bottom: 1px solid var(--gray-medium, #dee2e6);
  cursor: pointer;
  text-align: left;
}
.backoffice-custom-project-briefing-event-picker__result:hover {
  background-color: var(--gray-light, #f5f6f7);
}
.backoffice-custom-project-briefing-event-picker__result strong {
  font-size: 0.9375rem;
}
.backoffice-custom-project-briefing-event-picker__result span {
  font-size: 0.75rem;
  color: var(--gray-dark, #434343);
}

.client-receive-photo-body {
  background-color: var(--black, #121212);
  color: var(--white, #ffffff);
  display: flex;
  flex-direction: column;
}
.client-receive-photo-body .modal {
  color: var(--black, #121212);
}

#capture_receive_photos_div {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  justify-content: center;
}

.client-receive-photo-header {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
}

.client-receive-photo-header > img {
  grid-column: 2;
  justify-self: center;
  width: clamp(120px, 25vw, 148px);
  height: auto;
}

.client-receive-photo-header .button-gradient {
  width: fit-content;
  justify-self: end;
  gap: 0.5rem;
  grid-column: 3;
}

@media (max-width: 480px) {
  .client-receive-photo-header > img {
    width: clamp(96px, 35vw, 148px);
  }
}
.client-receive-photo-main {
  display: flex;
  flex-direction: column;
  gap: 0;
  height: 100%;
  padding: 0 0 1rem;
  text-align: center;
}

.client-receive-photo-title {
  font: 500 3rem "Customfont";
}

.client-receive-photo-list,
.client-receive-photo-swiper-list {
  gap: 1rem;
}
.client-receive-photo-list li,
.client-receive-photo-swiper-list li {
  border-radius: 0.5rem;
  overflow: hidden;
  position: relative;
}
.client-receive-photo-list .loader,
.client-receive-photo-swiper-list .loader {
  align-items: center;
  animation: unset;
  display: flex;
  height: 100%;
  flex-direction: column;
  justify-content: center;
  left: 50%;
  margin: 0 auto;
  position: absolute;
  transform: translateY(-50%) translateX(-50%);
  top: 50%;
  width: 100%;
}
.client-receive-photo-list .loader img,
.client-receive-photo-swiper-list .loader img {
  animation: rotating 1.5s infinite linear;
  height: auto;
  max-width: 120px;
  position: absolute;
  width: 100%;
}
.client-receive-photo-list .loader::before,
.client-receive-photo-swiper-list .loader::before {
  content: "";
  background: linear-gradient(90deg, var(--blue, #3b82f6) 50.54%, var(--gradient2, #60c7ba) 81.76%);
  height: 100%;
  left: 0;
  opacity: 0.75;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: -1;
}
.client-receive-photo-list .loader-main,
.client-receive-photo-swiper-list .loader-main {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.client-receive-photo-list .loader-main img,
.client-receive-photo-swiper-list .loader-main img {
  position: unset !important;
}
.client-receive-photo-list .loader-main span,
.client-receive-photo-swiper-list .loader-main span {
  font: 700 1.5rem "Customfont";
}

.client-receive-photo-buttons-container {
  bottom: 1rem;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 1rem;
  left: 1rem;
  position: absolute;
}
.client-receive-photo-buttons-container img {
  max-width: 20px;
}

.modal-receive-photo-qrcode .modal-content {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  justify-content: center;
}

.client-receive-photo-swiper {
  width: 100%;
}
.client-receive-photo-swiper .button-primary {
  box-shadow: 0 0 6px 0px var(--gray-dark, #434343);
}

.client-receive-photo-swiper-list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  height: 100%;
  list-style: none;
  width: 100%;
}
.client-receive-photo-swiper-list li {
  background-color: var(--gray-medium, #dee2e6);
  width: 100%;
}
.client-receive-photo-swiper-list .portrait .client-receive-photo-list-img {
  height: 100%;
  max-height: 100%;
  max-width: 100%;
  width: auto;
}

.client-receive-photo-list-img {
  height: auto;
  max-width: 100vw;
  width: 100%;
  max-height: 100vh;
}

.client-receive-photo-list-img--height-responsive {
  object-fit: cover;
}

.client-receive-photo-swiper .swiper-pagination {
  margin-bottom: 1rem;
}

.client-receive-photo-swiper .swiper-pagination-bullet {
  background-color: var(--gray-light, #f5f6f7);
  border-radius: 0.5rem;
  height: 0.25rem;
  opacity: 1;
  transition: width 0.5s linear, color 0.5s linear, box-shadow 0.5s ease;
  width: 1rem;
}
.client-receive-photo-swiper .swiper-pagination-bullet-active {
  background-color: var(--blue, #3b82f6);
  width: 3rem;
  box-shadow: 8px 12px 24px 0px rgba(18, 18, 18, 0.08);
}

.client-receive-photo-print-button-container {
  display: flex;
  flex-direction: row;
  justify-content: center;
}

.receive-photos-link {
  color: var(--white, #ffffff);
  font: 400 1.5rem "Customfont";
  margin-top: 1rem;
  text-shadow: 0px 0px 1px black;
}

.home__support-icon {
  filter: contrast(0) brightness(100);
}

.receive-photos-qrcode-container {
  align-items: center;
  background-color: var(--white, #ffffff) !important;
  border-radius: 0.5rem;
  color: var(--black, #121212);
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 1rem;
  justify-content: center;
  padding: 1rem;
}
.receive-photos-qrcode-container > img {
  margin: 0 auto;
  width: min(100%, 25vh);
}

.swiper-slide--composite-photo .client-receive-photo-swiper-list {
  height: unset;
}

.receive-photos-create-account-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  margin-top: auto;
  padding: 0 1rem 1rem;
  gap: 0;
  bottom: 0;
  position: sticky;
  z-index: 1;
}

.receive-photos-create-account-container .button-gradient {
  margin-top: 1.25rem;
}

.client-receive-photo-swiper .swiper-pagination {
  position: unset;
}

.client-receive-photo-buttons-container--fullscreen {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 1rem;
  position: absolute;
  bottom: 5rem;
  left: 50%;
  transform: translateX(-50%);
}
.client-receive-photo-buttons-container--fullscreen button {
  padding: 1rem;
}

@media only screen and (max-width: 950px), only screen and (max-height: 767px) {
  .client-receive-photo-title {
    font: 500 1.5rem "Customfont";
  }
}
@media only screen and (max-width: 950px) {
  .client-receive-photo-buttons-container span {
    display: none;
  }
  .client-receive-photo-header {
    align-items: center;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1rem;
  }
}
@media only screen and (max-width: 575px) {
  .client-receive-photo-list {
    grid-template-columns: 1fr !important;
  }
}
@media only screen and (max-height: 500px) {
  #custom_ai_event_logo_img {
    height: auto;
    max-height: 75px;
    width: auto;
  }
  .client-receive-photo-title {
    display: none;
  }
  .client-receive-photo-swiper .swiper-pagination {
    display: none !important;
  }
  .swiper-slide--composite-photo .client-receive-photo-swiper-list {
    height: 100%;
  }
  .receive-photos-qrcode-container h2 {
    display: none;
  }
  .receive-photos-qrcode-container > img {
    aspect-ratio: 1/1;
  }
}
.escola-da-inteligencia-quiz-body {
  margin: 0;
  padding: 0;
  background: #1a1a1a;
  font-family: "Nunito", system-ui, sans-serif;
  color: #2D2D2D;
  overflow: hidden;
  width: 100vw;
  height: 100vh;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}
.escola-da-inteligencia-quiz-body *, .escola-da-inteligencia-quiz-body *::before, .escola-da-inteligencia-quiz-body *::after {
  box-sizing: border-box;
  touch-action: manipulation;
}
.escola-da-inteligencia-quiz-body .ei-stage {
  position: fixed;
  top: 50%;
  left: 50%;
  width: 1080px;
  height: 1920px;
  background: #FFF7F2;
  transform-origin: center center;
  transform: translate(-50%, -50%) scale(var(--ei-stage-scale, 1));
  overflow: hidden;
}
.escola-da-inteligencia-quiz-body .ei-screen {
  position: absolute;
  inset: 0;
  width: 1080px;
  height: 1920px;
  background: #FFF7F2;
  display: none;
}
.escola-da-inteligencia-quiz-body .ei-screen.is-active {
  display: block;
}
.escola-da-inteligencia-quiz-body .ei-screen-header {
  position: absolute;
  top: 60px;
  left: 80px;
  right: 80px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  z-index: 5;
}
.escola-da-inteligencia-quiz-body .ei-screen-header.ei-screen-header-compact {
  top: 36px;
}
.escola-da-inteligencia-quiz-body .ei-logo-wrapper {
  background: #FFFFFF;
  padding: 14px 22px;
  border-radius: 22px;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.06);
  display: inline-flex;
  align-items: center;
}
.escola-da-inteligencia-quiz-body .ei-logo-img {
  height: 64px;
  width: auto;
  display: block;
}
.escola-da-inteligencia-quiz-body .ei-step-indicator {
  font-size: 26px;
  color: #6B6B6B;
  font-weight: 600;
}
.escola-da-inteligencia-quiz-body .ei-cta {
  border: none;
  cursor: pointer;
  font-family: inherit;
  outline: none;
  appearance: none;
}
.escola-da-inteligencia-quiz-body .ei-cta-primary {
  height: 140px;
  padding: 0 60px;
  border-radius: 70px;
  background: #E94E1B;
  color: #FFFFFF;
  font-size: 44px;
  font-weight: 800;
  letter-spacing: 0.5px;
  box-shadow: 0 12px 30px rgba(233, 78, 27, 0.35);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
}
.escola-da-inteligencia-quiz-body .ei-cta-primary:disabled {
  background: #D8D8D8;
  color: #6B6B6B;
  box-shadow: none;
  cursor: not-allowed;
}
.escola-da-inteligencia-quiz-body .ei-cta-icon {
  font-size: 48px;
  line-height: 1;
}
.escola-da-inteligencia-quiz-body .ei-forest-backdrop {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: radial-gradient(circle at 12% 18%, rgba(124, 179, 66, 0.12) 0 6px, transparent 7px), radial-gradient(circle at 88% 22%, rgba(244, 132, 95, 0.18) 0 4px, transparent 5px), radial-gradient(circle at 30% 80%, rgba(124, 179, 66, 0.1) 0 8px, transparent 9px), radial-gradient(circle at 75% 70%, rgba(233, 78, 27, 0.1) 0 5px, transparent 6px), radial-gradient(circle at 50% 40%, rgba(124, 179, 66, 0.1) 0 6px, transparent 7px);
}
.escola-da-inteligencia-quiz-body .ei-forest-backdrop.ei-forest-backdrop-light {
  opacity: 0.5;
}
.escola-da-inteligencia-quiz-body .ei-forest-backdrop.ei-forest-backdrop-dense {
  opacity: 1.4;
  filter: saturate(1.2);
}
.escola-da-inteligencia-quiz-body {
  /* ========== TELA 01 · ATRAÇÃO ========== */
}
.escola-da-inteligencia-quiz-body .ei-attract-coral-wash {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 700px;
  background: linear-gradient(180deg, transparent 0%, #FFE4D6 60%);
  pointer-events: none;
}
.escola-da-inteligencia-quiz-body .ei-attract-title-block {
  position: absolute;
  top: 220px;
  left: 80px;
  right: 80px;
  text-align: center;
}
.escola-da-inteligencia-quiz-body .ei-attract-eyebrow {
  font-size: 44px;
  color: #E94E1B;
  font-weight: 800;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-bottom: 24px;
}
.escola-da-inteligencia-quiz-body .ei-attract-headline {
  font-size: 96px;
  font-weight: 900;
  line-height: 1.05;
  color: #2D2D2D;
  text-wrap: balance;
  margin: 0 0 32px;
}
.escola-da-inteligencia-quiz-body .ei-attract-subheadline {
  font-size: 40px;
  font-weight: 500;
  color: #6B6B6B;
  line-height: 1.35;
  max-width: 880px;
  margin: 0 auto;
}
.escola-da-inteligencia-quiz-body .ei-attract-character-row {
  position: absolute;
  top: 880px;
  left: 0;
  right: 0;
}
.escola-da-inteligencia-quiz-body .ei-character-lineup {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  gap: 8px;
}
.escola-da-inteligencia-quiz-body .ei-lineup-char {
  object-fit: contain;
  display: block;
}
.escola-da-inteligencia-quiz-body .ei-lineup-char-tall {
  transform: translateY(-10px);
}
.escola-da-inteligencia-quiz-body .ei-attract-cta-ring {
  position: absolute;
  bottom: 320px;
  left: 50%;
  transform: translateX(-50%);
  width: 1000px;
  height: 220px;
  border-radius: 110px;
  border: 4px dashed #F4845F;
  opacity: 0.5;
  pointer-events: none;
}
.escola-da-inteligencia-quiz-body .ei-attract-cta {
  position: absolute;
  bottom: 360px;
  left: 50%;
  transform: translateX(-50%);
  width: 920px;
}
.escola-da-inteligencia-quiz-body .ei-attract-tap-hint {
  position: absolute;
  bottom: 220px;
  left: 0;
  right: 0;
  text-align: center;
  font-size: 32px;
  color: #6B6B6B;
  font-weight: 500;
  margin: 0;
}
.escola-da-inteligencia-quiz-body .ei-attract-footer {
  position: absolute;
  bottom: 80px;
  left: 0;
  right: 0;
  text-align: center;
  font-size: 28px;
  color: #6B6B6B;
  letter-spacing: 1px;
  margin: 0;
}
.escola-da-inteligencia-quiz-body .ei-attract-footer strong {
  color: #E94E1B;
}
.escola-da-inteligencia-quiz-body {
  /* ========== TELA 02 · LEAD CAPTURE ========== */
}
.escola-da-inteligencia-quiz-body .ei-lead-content {
  position: absolute;
  top: 200px;
  left: 80px;
  right: 80px;
}
.escola-da-inteligencia-quiz-body .ei-lead-headline {
  font-size: 64px;
  font-weight: 900;
  line-height: 1.1;
  margin: 0 0 18px;
}
.escola-da-inteligencia-quiz-body .ei-lead-subheadline {
  font-size: 32px;
  color: #6B6B6B;
  font-weight: 500;
  margin: 0 0 60px;
}
.escola-da-inteligencia-quiz-body .ei-lead-form {
  display: flex;
  flex-direction: column;
  gap: 36px;
}
.escola-da-inteligencia-quiz-body .ei-lead-field {
  display: flex;
  flex-direction: column;
}
.escola-da-inteligencia-quiz-body .ei-lead-label {
  font-size: 30px;
  font-weight: 700;
  color: #2D2D2D;
  margin-bottom: 14px;
}
.escola-da-inteligencia-quiz-body .ei-lead-input-button {
  position: relative;
  height: 130px;
  border-radius: 24px;
  background: #FFFFFF;
  border: 3px solid #D8D8D8;
  padding: 0 36px;
  font-size: 42px;
  text-align: left;
  cursor: pointer;
  font-family: inherit;
  display: flex;
  align-items: center;
}
.escola-da-inteligencia-quiz-body .ei-lead-input-button.is-focused {
  border-color: #E94E1B;
  box-shadow: 0 0 0 6px #FFE4D6;
}
.escola-da-inteligencia-quiz-body .ei-lead-input-button.is-valid .ei-lead-input-check {
  display: inline-block;
}
.escola-da-inteligencia-quiz-body .ei-lead-input-button.is-invalid {
  border-color: #D14A2C;
}
.escola-da-inteligencia-quiz-body .ei-lead-input-value {
  color: #2D2D2D;
  font-weight: 600;
}
.escola-da-inteligencia-quiz-body .ei-lead-input-placeholder {
  position: absolute;
  left: 36px;
  color: #6B6B6B;
  font-weight: 400;
  pointer-events: none;
}
.escola-da-inteligencia-quiz-body .ei-lead-input-button:has(.ei-lead-input-value:not(:empty)) .ei-lead-input-placeholder {
  display: none;
}
.escola-da-inteligencia-quiz-body .ei-lead-input-check {
  position: absolute;
  right: 36px;
  font-size: 44px;
  color: #7CB342;
  display: none;
}
.escola-da-inteligencia-quiz-body .ei-lead-footer {
  position: absolute;
  left: 80px;
  right: 80px;
  bottom: 160px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
}
.escola-da-inteligencia-quiz-body .ei-lgpd-group {
  display: flex;
  flex-direction: column;
  gap: 14px;
  width: 100%;
}
.escola-da-inteligencia-quiz-body .ei-lgpd-checkbox {
  display: flex;
  align-items: flex-start;
  gap: 18px;
  cursor: pointer;
}
.escola-da-inteligencia-quiz-body .ei-lgpd-box {
  width: 64px;
  height: 64px;
  flex-shrink: 0;
  border-radius: 14px;
  border: 3px solid #D8D8D8;
  background: #FFFFFF;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #FFFFFF;
}
.escola-da-inteligencia-quiz-body .ei-lgpd-box .ei-lgpd-check {
  display: none;
}
.escola-da-inteligencia-quiz-body .ei-lgpd-checkbox.is-checked .ei-lgpd-box {
  border-color: #E94E1B;
  background: #E94E1B;
  box-shadow: 0 4px 14px rgba(233, 78, 27, 0.28);
}
.escola-da-inteligencia-quiz-body .ei-lgpd-checkbox.is-checked .ei-lgpd-box .ei-lgpd-check {
  display: block;
}
.escola-da-inteligencia-quiz-body .ei-lgpd-text {
  font-size: 24px;
  line-height: 1.4;
  color: #2D2D2D;
  font-weight: 500;
}
.escola-da-inteligencia-quiz-body .ei-lgpd-text strong {
  font-weight: 800;
  color: #E94E1B;
}
.escola-da-inteligencia-quiz-body .ei-lgpd-optional-tag {
  font-size: 20px;
  font-weight: 700;
  color: #6B6B6B;
}
.escola-da-inteligencia-quiz-body .ei-lgpd-link {
  color: #E94E1B;
  text-decoration: underline;
  font-weight: 700;
  background: none;
  border: none;
  padding: 0;
  font-family: inherit;
  font-size: inherit;
  cursor: pointer;
}
.escola-da-inteligencia-quiz-body .ei-lgpd-policy-button {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  align-self: center;
  background: #FFFFFF;
  color: #E94E1B;
  border: 2px solid #FFE4D6;
  border-radius: 50px;
  padding: 16px 32px;
  font-size: 24px;
  font-weight: 700;
  font-family: inherit;
  cursor: pointer;
  text-decoration: underline;
  margin-top: -4px;
}
.escola-da-inteligencia-quiz-body .ei-lgpd-policy-button:hover {
  background: #FFE4D6;
}
.escola-da-inteligencia-quiz-body {
  /* ========== MODAL · LGPD ========== */
}
.escola-da-inteligencia-quiz-body .ei-modal-overlay {
  position: absolute;
  inset: 0;
  background: rgba(45, 45, 45, 0.65);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 200;
  padding: 80px 40px;
}
.escola-da-inteligencia-quiz-body .ei-modal-card {
  width: 100%;
  max-width: 920px;
  max-height: 100%;
  background: #FFFFFF;
  border-radius: 36px;
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.35);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.escola-da-inteligencia-quiz-body .ei-modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  padding: 32px 36px 28px 56px;
  border-bottom: 2px solid #FFE4D6;
}
.escola-da-inteligencia-quiz-body .ei-modal-title {
  font-size: 56px;
  font-weight: 900;
  color: #2D2D2D;
  margin: 0;
  line-height: 1.1;
  flex: 1;
  min-width: 0;
}
.escola-da-inteligencia-quiz-body .ei-modal-close {
  flex-shrink: 0;
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: #FFE4D6;
  color: #E94E1B;
  font-size: 56px;
  font-weight: 900;
  line-height: 1;
  border: none;
  cursor: pointer;
  font-family: inherit;
  display: flex;
  align-items: center;
  justify-content: center;
}
.escola-da-inteligencia-quiz-body .ei-modal-body {
  padding: 28px 56px 22px;
  overflow-y: auto;
  flex: 1;
  min-height: 0;
  font-size: 20px;
  line-height: 1.5;
  color: #2D2D2D;
}
.escola-da-inteligencia-quiz-body .ei-modal-body p, .escola-da-inteligencia-quiz-body .ei-modal-body .number-of-devices-label {
  margin: 0 0 14px;
}
.escola-da-inteligencia-quiz-body .ei-modal-body ul {
  margin: 0 0 14px;
  padding-left: 28px;
}
.escola-da-inteligencia-quiz-body .ei-modal-body ul li {
  margin-bottom: 8px;
}
.escola-da-inteligencia-quiz-body .ei-modal-body strong {
  font-weight: 800;
  color: #2D2D2D;
}
.escola-da-inteligencia-quiz-body .ei-modal-intro {
  font-size: 21px;
  background: #FFE4D6;
  color: #2D2D2D;
  padding: 18px 22px;
  border-radius: 18px;
  margin-bottom: 22px !important;
}
.escola-da-inteligencia-quiz-body .ei-modal-section-title {
  font-size: 22px;
  font-weight: 800;
  color: #E94E1B;
  margin: 20px 0 8px;
}
.escola-da-inteligencia-quiz-body .ei-modal-footer-note {
  font-size: 16px;
  color: #6B6B6B;
  font-style: italic;
  margin-top: 24px !important;
}
.escola-da-inteligencia-quiz-body .ei-modal-page {
  display: none;
}
.escola-da-inteligencia-quiz-body .ei-modal-page.is-active {
  display: block;
}
.escola-da-inteligencia-quiz-body .ei-modal-footer {
  padding: 22px 56px 30px;
  border-top: 2px solid #FFE4D6;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
}
.escola-da-inteligencia-quiz-body .ei-modal-pager {
  display: flex;
  align-items: center;
  gap: 16px;
  flex: 1;
  min-width: 0;
}
.escola-da-inteligencia-quiz-body .ei-modal-pager-button {
  background: #FFFFFF;
  color: #E94E1B;
  border: 2px solid #FFE4D6;
  border-radius: 50px;
  padding: 14px 26px;
  font-size: 24px;
  font-weight: 700;
  font-family: inherit;
  cursor: pointer;
}
.escola-da-inteligencia-quiz-body .ei-modal-pager-button:hover:not(:disabled) {
  background: #FFE4D6;
}
.escola-da-inteligencia-quiz-body .ei-modal-pager-button:disabled {
  color: #D8D8D8;
  border-color: #D8D8D8;
  cursor: not-allowed;
}
.escola-da-inteligencia-quiz-body .ei-modal-pager-label {
  font-size: 22px;
  font-weight: 700;
  color: #6B6B6B;
  font-family: "JetBrains Mono", monospace;
  letter-spacing: 0.5px;
}
.escola-da-inteligencia-quiz-body .ei-modal-cta {
  height: 90px;
  font-size: 30px;
  padding: 0 44px;
  flex-shrink: 0;
}
.escola-da-inteligencia-quiz-body .ei-lead-lgpd-hint {
  font-size: 26px;
  color: #6B6B6B;
  margin: 0;
}
.escola-da-inteligencia-quiz-body {
  /* On-screen keyboard — auto-height, sem gap embaixo */
}
.escola-da-inteligencia-quiz-body .ei-keyboard {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  background: #EDEDED;
  border-top: 2px solid #D8D8D8;
  padding: 22px 28px 26px;
  box-shadow: 0 -10px 30px rgba(0, 0, 0, 0.08);
  z-index: 100;
}
.escola-da-inteligencia-quiz-body .ei-keyboard .ei-kb-layout {
  display: none;
}
.escola-da-inteligencia-quiz-body .ei-keyboard[data-mode=name] .ei-kb-layout-name {
  display: block;
}
.escola-da-inteligencia-quiz-body .ei-keyboard[data-mode=phone] .ei-kb-layout-phone {
  display: block;
}
.escola-da-inteligencia-quiz-body .ei-keyboard[data-mode=email] .ei-kb-layout-email {
  display: block;
}
.escola-da-inteligencia-quiz-body .ei-keyboard-row {
  display: flex;
  justify-content: center;
  gap: 12px;
  margin-bottom: 12px;
}
.escola-da-inteligencia-quiz-body .ei-keyboard-row:last-child {
  margin-bottom: 0;
}
.escola-da-inteligencia-quiz-body .ei-keyboard-row.ei-keyboard-row-action {
  margin-top: 6px;
}
.escola-da-inteligencia-quiz-body .ei-keyboard-key {
  width: 92px;
  height: 116px;
  border-radius: 14px;
  background: #FFFFFF;
  border: none;
  box-shadow: 0 3px 0 #C8C8C8;
  font-size: 40px;
  font-weight: 600;
  color: #2D2D2D;
  cursor: pointer;
  font-family: inherit;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.escola-da-inteligencia-quiz-body .ei-keyboard-key:active {
  transform: translateY(2px);
  box-shadow: 0 1px 0 #C8C8C8;
}
.escola-da-inteligencia-quiz-body .ei-keyboard-key.ei-keyboard-key-secondary {
  width: 180px;
  font-size: 38px;
  color: #6B6B6B;
}
.escola-da-inteligencia-quiz-body .ei-keyboard-key.ei-keyboard-key-space {
  flex: 1;
  max-width: 560px;
  font-size: 26px;
  color: #6B6B6B;
}
.escola-da-inteligencia-quiz-body .ei-keyboard-key.ei-keyboard-key-confirm {
  width: 180px;
  background: #E94E1B;
  color: #FFFFFF;
  font-weight: 700;
  font-size: 30px;
  box-shadow: 0 3px 0 #B23A12;
}
.escola-da-inteligencia-quiz-body .ei-keyboard-key.ei-keyboard-key-shortcut {
  flex: 1;
  max-width: 360px;
  font-size: 26px;
  font-weight: 700;
  background: #FFFFFF;
  color: #E94E1B;
}
.escola-da-inteligencia-quiz-body {
  /* Linha de acentos — teclas levemente menores e em coral pale pra destacar */
}
.escola-da-inteligencia-quiz-body .ei-kb-row-accents {
  margin-bottom: 10px;
}
.escola-da-inteligencia-quiz-body .ei-kb-key-accent {
  width: 80px;
  height: 100px;
  font-size: 36px;
  background: #FFE4D6;
  color: #E94E1B;
  font-weight: 700;
}
.escola-da-inteligencia-quiz-body {
  /* Tecla @ no email — destaque coral */
}
.escola-da-inteligencia-quiz-body .ei-kb-key-at {
  flex: 0 0 auto;
  width: 140px;
  background: #FFE4D6;
  color: #E94E1B;
  font-weight: 800;
  font-size: 42px;
}
.escola-da-inteligencia-quiz-body {
  /* Símbolos no email (.,-,_) — cinza claro pra distinguir das letras */
}
.escola-da-inteligencia-quiz-body .ei-kb-key-symbol {
  background: #F4F4F4;
  color: #6B6B6B;
  font-weight: 700;
}
.escola-da-inteligencia-quiz-body {
  /* Numpad do telefone — teclas grandes, layout 3-col centralizado */
}
.escola-da-inteligencia-quiz-body .ei-kb-layout-phone .ei-keyboard-row {
  gap: 18px;
  margin-bottom: 18px;
}
.escola-da-inteligencia-quiz-body .ei-kb-key-numpad {
  width: 220px;
  height: 140px;
  font-size: 56px;
  font-weight: 800;
}
.escola-da-inteligencia-quiz-body {
  /* ========== TELA 03 · INSTRUÇÃO ========== */
}
.escola-da-inteligencia-quiz-body .ei-instruction-content {
  position: absolute;
  top: 280px;
  left: 80px;
  right: 80px;
  text-align: center;
}
.escola-da-inteligencia-quiz-body .ei-instruction-pill {
  display: inline-block;
  background: #FFE4D6;
  color: #E94E1B;
  padding: 16px 40px;
  border-radius: 60px;
  font-size: 36px;
  font-weight: 800;
  margin-bottom: 40px;
  letter-spacing: 1px;
}
.escola-da-inteligencia-quiz-body .ei-instruction-headline {
  font-size: 88px;
  font-weight: 900;
  line-height: 1.1;
  margin: 0 0 40px;
}
.escola-da-inteligencia-quiz-body .ei-instruction-emph {
  color: #E94E1B;
}
.escola-da-inteligencia-quiz-body .ei-instruction-subheadline {
  font-size: 40px;
  color: #6B6B6B;
  line-height: 1.4;
  max-width: 860px;
  margin: 0 auto 60px;
  font-weight: 500;
}
.escola-da-inteligencia-quiz-body .ei-instruction-character-row {
  position: absolute;
  top: 1100px;
  left: 0;
  right: 0;
}
.escola-da-inteligencia-quiz-body .ei-instruction-ground {
  position: absolute;
  bottom: 360px;
  left: 80px;
  right: 80px;
  height: 6px;
  background: linear-gradient(90deg, transparent, #C8E2A2, transparent);
  border-radius: 3px;
}
.escola-da-inteligencia-quiz-body .ei-instruction-cta {
  position: absolute;
  bottom: 160px;
  left: 50%;
  transform: translateX(-50%);
  width: 760px;
}
.escola-da-inteligencia-quiz-body {
  /* ========== TELAS 04-08 · PERGUNTAS ========== */
}
.escola-da-inteligencia-quiz-body .ei-question-progress {
  position: absolute;
  top: 180px;
  left: 80px;
  right: 80px;
}
.escola-da-inteligencia-quiz-body .ei-progress-label {
  font-size: 32px;
  font-weight: 700;
  margin-bottom: 18px;
}
.escola-da-inteligencia-quiz-body .ei-progress-current {
  color: #E94E1B;
  font-size: 40px;
}
.escola-da-inteligencia-quiz-body .ei-progress-total {
  color: #6B6B6B;
  font-weight: 500;
}
.escola-da-inteligencia-quiz-body .ei-progress-track {
  height: 16px;
  border-radius: 8px;
  background: #FFE4D6;
  overflow: hidden;
}
.escola-da-inteligencia-quiz-body .ei-progress-fill {
  height: 100%;
  background: linear-gradient(90deg, #F4845F, #E94E1B);
  border-radius: 8px;
  transition: width 0.4s ease;
}
.escola-da-inteligencia-quiz-body .ei-question-text {
  position: absolute;
  top: 320px;
  left: 80px;
  right: 80px;
  font-size: 56px;
  font-weight: 900;
  line-height: 1.15;
  color: #2D2D2D;
  text-wrap: balance;
  margin: 0;
}
.escola-da-inteligencia-quiz-body .ei-question-options {
  position: absolute;
  top: 580px;
  left: 80px;
  right: 80px;
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.escola-da-inteligencia-quiz-body .ei-option-card {
  width: 100%;
  min-height: 180px;
  border-radius: 32px;
  background: #FFFFFF;
  border: 3px solid #FFE4D6;
  display: flex;
  align-items: center;
  padding: 30px 36px;
  gap: 30px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04);
  cursor: pointer;
  text-align: left;
  font-family: inherit;
}
.escola-da-inteligencia-quiz-body .ei-option-card.is-selected {
  background: #E94E1B;
  border-color: #E94E1B;
  box-shadow: 0 14px 32px rgba(233, 78, 27, 0.35);
}
.escola-da-inteligencia-quiz-body .ei-option-card.is-selected .ei-option-letter {
  background: #FFFFFF;
}
.escola-da-inteligencia-quiz-body .ei-option-card.is-selected .ei-option-text {
  color: #FFFFFF;
}
.escola-da-inteligencia-quiz-body .ei-option-card.is-selected .ei-option-check {
  display: flex;
  background: #FFFFFF;
  color: #E94E1B;
}
.escola-da-inteligencia-quiz-body .ei-option-letter {
  width: 96px;
  height: 96px;
  flex-shrink: 0;
  border-radius: 50%;
  background: #FFE4D6;
  color: #E94E1B;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 52px;
  font-weight: 900;
}
.escola-da-inteligencia-quiz-body .ei-option-text {
  font-size: 32px;
  line-height: 1.35;
  font-weight: 600;
  color: #2D2D2D;
  text-wrap: pretty;
  flex: 1;
}
.escola-da-inteligencia-quiz-body .ei-option-check {
  width: 64px;
  height: 64px;
  flex-shrink: 0;
  border-radius: 50%;
  background: transparent;
  display: none;
  align-items: center;
  justify-content: center;
  margin-left: auto;
}
.escola-da-inteligencia-quiz-body .ei-question-hint {
  position: absolute;
  bottom: 80px;
  left: 0;
  right: 0;
  text-align: center;
  font-size: 26px;
  color: #6B6B6B;
  font-weight: 500;
  margin: 0;
}
.escola-da-inteligencia-quiz-body {
  /* ========== TELA 09 · LOADING ========== */
}
.escola-da-inteligencia-quiz-body .ei-loading-rings {
  position: absolute;
  top: 720px;
  left: 0;
  right: 0;
  display: flex;
  justify-content: center;
}
.escola-da-inteligencia-quiz-body .ei-loading-rings-svg {
  width: 500px;
  height: 500px;
}
.escola-da-inteligencia-quiz-body .ei-loading-rings-spinner {
  transform-origin: 250px 250px;
  animation: ei-spin 1.6s linear infinite;
}
@keyframes ei-spin {
  from {
    transform: rotate(0);
  }
  to {
    transform: rotate(360deg);
  }
}
.escola-da-inteligencia-quiz-body .ei-loading-text-block {
  position: absolute;
  top: 1290px;
  left: 80px;
  right: 80px;
  text-align: center;
}
.escola-da-inteligencia-quiz-body .ei-loading-headline {
  font-size: 64px;
  font-weight: 900;
  line-height: 1.15;
  margin: 0 0 24px;
  text-wrap: balance;
}
.escola-da-inteligencia-quiz-body .ei-loading-sub {
  font-size: 32px;
  color: #6B6B6B;
  font-weight: 500;
  margin: 0;
}
.escola-da-inteligencia-quiz-body .ei-loading-dots {
  display: flex;
  justify-content: center;
  gap: 18px;
  margin-top: 60px;
}
.escola-da-inteligencia-quiz-body .ei-loading-dot {
  width: 24px;
  height: 24px;
  border-radius: 12px;
  background: #E94E1B;
  animation: ei-pulse 1.2s ease-in-out infinite;
}
.escola-da-inteligencia-quiz-body .ei-loading-dot:nth-child(2) {
  background: #F4845F;
  animation-delay: 0.2s;
}
.escola-da-inteligencia-quiz-body .ei-loading-dot:nth-child(3) {
  background: #FFE4D6;
  animation-delay: 0.4s;
}
@keyframes ei-pulse {
  0%, 100% {
    transform: scale(1);
    opacity: 1;
  }
  50% {
    transform: scale(1.4);
    opacity: 0.6;
  }
}
.escola-da-inteligencia-quiz-body {
  /* ========== TELA 10 · REVELAÇÃO ========== */
}
.escola-da-inteligencia-quiz-body .ei-screen-reveal {
  background: var(--reveal-bg, #FFF7F2);
}
.escola-da-inteligencia-quiz-body .ei-reveal-eyebrow {
  position: absolute;
  top: 200px;
  left: 50%;
  transform: translateX(-50%);
  background: var(--reveal-chip);
  color: var(--reveal-accent);
  padding: 14px 36px;
  border-radius: 60px;
  font-size: 32px;
  font-weight: 800;
  letter-spacing: 1.5px;
  text-transform: uppercase;
}
.escola-da-inteligencia-quiz-body .ei-reveal-headline {
  position: absolute;
  top: 300px;
  left: 80px;
  right: 80px;
  text-align: center;
}
.escola-da-inteligencia-quiz-body .ei-reveal-prefix {
  font-size: 44px;
  color: #6B6B6B;
  font-weight: 600;
  margin-bottom: 8px;
}
.escola-da-inteligencia-quiz-body .ei-reveal-name {
  font-size: 92px;
  font-weight: 900;
  color: #E94E1B;
  line-height: 1.05;
  letter-spacing: -1px;
  text-wrap: balance;
}
.escola-da-inteligencia-quiz-body .ei-reveal-character-plate {
  position: absolute;
  top: 620px;
  left: 50%;
  transform: translateX(-50%);
  width: 540px;
  height: 540px;
  border-radius: 50%;
  background: #FFFFFF;
  border: 8px solid var(--reveal-chip);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 30px 60px color-mix(in srgb, var(--reveal-accent) 20%, transparent);
}
.escola-da-inteligencia-quiz-body .ei-reveal-character-img {
  width: 460px;
  height: 460px;
  object-fit: contain;
  display: block;
}
.escola-da-inteligencia-quiz-body .ei-reveal-card {
  position: absolute;
  top: 1200px;
  left: 80px;
  right: 80px;
  background: #FFFFFF;
  border-radius: 32px;
  padding: 40px 50px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
}
.escola-da-inteligencia-quiz-body .ei-reveal-desc {
  font-size: 32px;
  line-height: 1.45;
  font-weight: 600;
  color: #2D2D2D;
  text-wrap: pretty;
  margin: 0;
}
.escola-da-inteligencia-quiz-body .ei-reveal-cta-block {
  position: absolute;
  bottom: 140px;
  left: 80px;
  right: 80px;
  text-align: center;
}
.escola-da-inteligencia-quiz-body .ei-reveal-cta-hint {
  font-size: 30px;
  color: #6B6B6B;
  font-weight: 600;
  margin: 0 0 32px;
}
.escola-da-inteligencia-quiz-body .ei-reveal-cta-block .ei-cta-primary {
  width: 920px;
}

.checkout-payment-success-header {
  padding: 2rem 1rem 3rem;
  text-align: center;
}

.checkout-payment-success-main {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  text-align: center;
  word-break: break-word;
}
.checkout-payment-success-main h1 {
  width: min(500px, 100%);
  padding: 0 1rem;
}
.checkout-payment-success-main h2 {
  font: 700 1.1rem "Customfont";
  margin-top: 1rem;
}
.checkout-payment-success-main ul {
  display: flex;
  flex-direction: column;
  font: 400 2rem "Customfont";
  gap: 1rem;
  list-style: none;
  margin: 0 auto;
  padding: 0 1rem;
  text-align: left;
  width: fit-content;
}
.checkout-payment-success-main ul li {
  align-items: center;
  display: flex;
  flex-direction: row;
  gap: 0.5rem;
}
.checkout-payment-success-main .button-primary {
  padding: 1.5rem 1rem !important;
  width: min(300px, 100%);
}

.checkout-payment-success-article {
  background-color: var(--white, #ffffff);
  border-radius: 0.5rem;
  box-shadow: 8px 12px 24px 0px rgba(18, 18, 18, 0.078);
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin: 1rem auto 0;
  overflow: hidden;
  padding: 0 0 2rem 0;
  width: calc(min(716px, 100%) - 2rem);
}
.checkout-payment-success-article picture img {
  height: auto;
  max-height: 120px;
  object-fit: cover;
  object-position: 50% 40%;
  width: 100%;
}
.checkout-payment-success-article h3 {
  font: 500 1.1rem "Customfont";
  margin: 2rem auto 0;
  max-width: 500px;
}

.checkout-payment-success-button-container {
  align-items: stretch;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: center;
}
.checkout-payment-success-button-container .button-primary {
  padding: 1rem !important;
}

@media only screen and (max-width: 950px) {
  .checkout-payment-success-main h1 {
    font: 500 2rem "Customfont";
  }
  .checkout-payment-success-main ul {
    font: 400 1.25rem "Customfont";
  }
  .checkout-payment-success-main ul img {
    height: auto;
    max-width: 15px;
    max-height: 15px;
    width: 100%;
  }
}
.panel-personalize-event-article,
.panel-my-scenarios-article,
.panel-edit-scenario-article {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
}

.panel-personalize-event-section,
.panel-my-scenarios-section,
.panel-edit-scenario-section {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin: 0 auto;
  max-width: 700px;
  width: 100%;
}

.panel-personalize-event-section {
  max-width: 600px;
}

.panel-personalize-event-section iframe {
  background-color: var(--gray-medium, #dee2e6);
  border-radius: 0.5rem;
  width: 100%;
}

.panel-edit-scenario-section {
  gap: 6rem;
  max-width: unset;
}

.panel-personalize-event-title-container,
.panel-my-scenarios-title-container {
  margin-bottom: 3rem;
}

.panel-personalize-event-title,
.panel-my-scenarios-title,
.panel-edit-scenario-title {
  text-align: center;
}

.panel-personalize-event-subtitle {
  font-size: 1.1rem;
  font-weight: 500;
  text-align: center;
  margin-top: 1rem;
}

.panel-personalize-event-tab-checkbox-container,
.panel-capture-tab-checkbox-container {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
}

.panel-capture-tab-checkbox-container {
  list-style: none;
  margin-bottom: 2rem;
}

.panel-personalize-event-tab-checkbox,
.panel-capture-tab-checkbox,
.user-profile-tab-container {
  flex-grow: 1;
}
.panel-personalize-event-tab-checkbox label,
.panel-capture-tab-checkbox label,
.user-profile-tab-container label {
  display: inline-block;
  padding: 1rem;
  position: relative;
  text-align: center;
  width: 100%;
}
.panel-personalize-event-tab-checkbox label::after,
.panel-capture-tab-checkbox label::after,
.user-profile-tab-container label::after {
  background-color: var(--white, #ffffff);
  border-radius: 0.25rem;
  box-shadow: 0 1px 12px rgba(204, 204, 204, 0.25);
  content: "";
  display: inline-block;
  height: 4px;
  bottom: 0;
  left: 0;
  position: absolute;
  width: calc(100% + 0.25rem);
}
.panel-personalize-event-tab-checkbox input:checked + label,
.panel-capture-tab-checkbox input:checked + label,
.user-profile-tab-container input:checked + label {
  border-color: var(--blue, #3b82f6);
  color: var(--blue, #3b82f6);
  z-index: 1;
}
.panel-personalize-event-tab-checkbox input:checked + label::after,
.panel-capture-tab-checkbox input:checked + label::after,
.user-profile-tab-container input:checked + label::after {
  background-color: var(--blue, #3b82f6);
}

.panel-capture-tab-checkbox label::after {
  background-color: var(--gray-medium, #dee2e6);
}

.panel-personalize-event-tab-checkbox {
  flex-basis: 0;
}

.panel-personalize-tab-new-badge {
  position: absolute;
  top: 0.4rem;
  right: 0.4rem;
  background-color: var(--blue, #3b82f6);
  border-radius: 1rem;
  color: var(--white, #ffffff);
  font-size: 0.6rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: 1;
  padding: 0.15rem 0.45rem;
  text-transform: uppercase;
}

.switch-checkbox-container {
  align-items: center;
  background-color: var(--white, #ffffff);
  border-radius: 0.5rem;
  display: flex;
  flex-direction: row;
  gap: 1rem;
  padding: 1rem;
}
.switch-checkbox-container p, .switch-checkbox-container .number-of-devices-label {
  font: 400 1rem "Customfont";
  margin-bottom: 0;
}

.panel-personalize-tabbed-container {
  line-height: 1.5rem;
  margin-top: 3rem;
}

.event-personalize-capture-container {
  display: grid;
  flex-direction: row;
  flex-wrap: wrap;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr));
  gap: 1rem;
}
@media only screen and (max-width: 750px) {
  .event-personalize-capture-container {
    grid-template-columns: 1fr;
  }
}

.event-personalize-capture-checkbox-container label,
.mirror-image-custom-checkbox-container label,
.mirror-image-custom-radio-container label {
  background-color: var(--white, #ffffff);
  border-radius: 0.5rem;
  box-shadow: 0 1px 12px rgba(204, 204, 204, 0.25);
  display: flex;
  flex-direction: row;
  gap: 0.5rem;
  padding: 1rem;
}
.event-personalize-capture-checkbox-container .custom-checkbox-circle,
.event-personalize-capture-checkbox-container .custom-radio-circle,
.mirror-image-custom-checkbox-container .custom-checkbox-circle,
.mirror-image-custom-checkbox-container .custom-radio-circle,
.mirror-image-custom-radio-container .custom-checkbox-circle,
.mirror-image-custom-radio-container .custom-radio-circle {
  aspect-ratio: 1/1;
  border: 2px solid var(--black, #121212);
  border-radius: 100%;
  width: 18px;
  height: 18px;
}
.event-personalize-capture-checkbox-container input:checked + label .custom-checkbox-circle,
.event-personalize-capture-checkbox-container input:checked + label .custom-radio-circle,
.mirror-image-custom-checkbox-container input:checked + label .custom-checkbox-circle,
.mirror-image-custom-checkbox-container input:checked + label .custom-radio-circle,
.mirror-image-custom-radio-container input:checked + label .custom-checkbox-circle,
.mirror-image-custom-radio-container input:checked + label .custom-radio-circle {
  border-width: 0.5rem;
}

.event-personalize-capture-checkbox-container label {
  flex-direction: column;
  height: 100%;
}
.event-personalize-capture-checkbox-container label section {
  align-items: center;
  display: flex;
  flex-direction: row;
  gap: 0.5rem;
}
.event-personalize-capture-checkbox-container label > p, .event-personalize-capture-checkbox-container label > .number-of-devices-label {
  font: 400 0.9rem "Customfont";
}

.mirror-image-custom-radio-container--stacked label {
  flex-direction: column;
  height: 100%;
}
.mirror-image-custom-radio-container--stacked label section {
  align-items: center;
  display: flex;
  flex-direction: row;
  gap: 0.5rem;
}
.mirror-image-custom-radio-container--stacked label > p, .mirror-image-custom-radio-container--stacked label > .number-of-devices-label {
  font: 400 0.9rem "Customfont";
}

.mirror-image-custom-checkbox-container .custom-checkbox-circle,
.mirror-image-custom-radio-container .custom-checkbox-circle {
  border-radius: 0.15rem;
}

.panel-personalize-tabbed-container-checkbox-title-container {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding-bottom: 2rem;
  border-bottom: 1px solid var(--gray-medium, #dee2e6);
}

.panel-force-camera-facing,
.panel-capture-instruction-customization {
  margin-top: 3rem;
}

.photo-style-container {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-top: 3rem;
}

.ai-event-effect-custom-radio {
  color: var(--black, #121212);
  display: flex;
  flex-direction: column;
  gap: 1rem;
  position: relative;
  text-decoration: unset;
  width: 100%;
}
.ai-event-effect-custom-radio label,
.ai-event-effect-custom-radio button {
  background-color: var(--white, #ffffff);
  border-radius: 0.5rem;
  box-shadow: 0 0px 12px rgb(204, 204, 204);
  left: 0.5rem;
  padding: 0.7rem;
  position: absolute;
  top: 0.5rem;
}
.ai-event-effect-custom-radio label div,
.ai-event-effect-custom-radio button div {
  width: 1.25rem;
  height: 1.25rem;
  border: 2px solid var(--black, #121212);
  border-radius: 100%;
}
.ai-event-effect-custom-radio input[type=checkbox],
.ai-event-effect-custom-radio input[type=radio] {
  appearance: none;
  -webkit-appearance: none;
  background: none;
  border: none;
  cursor: pointer;
  display: inline-block;
  height: 100%;
  left: 0;
  position: absolute !important;
  top: 0;
  width: 100%;
}
.ai-event-effect-custom-radio input[type=checkbox]:focus-visible,
.ai-event-effect-custom-radio input[type=radio]:focus-visible {
  outline: 2px solid var(--blue, #3b82f6);
  outline-offset: 0.5rem;
}
.ai-event-effect-custom-radio input:checked + label div {
  border-width: 0.5rem;
}
.ai-event-effect-custom-radio img {
  aspect-ratio: 154/154;
  background-color: var(--white, #ffffff);
  border-radius: 0.5rem;
  box-shadow: 0 1px 12px rgba(204, 204, 204, 0.25);
  height: auto;
  object-fit: cover;
  width: 100%;
}
@media only screen and (min-width: 1351px) {
  .ai-event-effect-custom-radio img {
    max-width: 154px;
  }
}
.ai-event-effect-custom-radio p, .ai-event-effect-custom-radio .number-of-devices-label {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  overflow: hidden;
  overflow-wrap: anywhere;
  font: 500 1.125rem "Customfont";
  text-align: center;
  width: 100%;
}
.ai-event-effect-custom-radio input[type=checkbox] + label div {
  border-radius: 0.1rem;
}

.panel-create-event-form .ai-event-effect-custom-radio img {
  object-fit: contain;
}

.photo-style-checkbox-list,
.my-scenarios-container__list {
  align-items: stretch;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 2rem;
  list-style: none;
}
.photo-style-checkbox-list img,
.my-scenarios-container__list img {
  border-radius: 0.5rem;
}

.view-more-button {
  align-items: center;
  background: var(--blue-light, #e5edfa);
  border: none;
  border-radius: 0.5rem;
  color: var(--blue, #3b82f6);
  cursor: pointer;
  display: flex;
  font: 700 1rem "Customfont";
  gap: 0.5rem;
  justify-content: center;
  margin-top: 1rem;
  padding: 0.6rem 1.5rem;
  transition: background-color 0.2s ease;
  width: 100%;
}
.view-more-button:hover {
  background-color: var(--view-more-button-background, #d0dff0);
}
.view-more-button::after {
  border-bottom: 2px solid var(--blue, #3b82f6);
  border-right: 2px solid var(--blue, #3b82f6);
  content: "";
  display: inline-block;
  height: 0.45rem;
  transform: translateY(-2px) rotate(45deg);
  transition: transform 0.3s ease;
  width: 0.45rem;
}
.view-more-button.expanded::after {
  transform: translateY(2px) rotate(-135deg);
}

.view-more-item {
  transition: opacity 0.3s ease, transform 0.3s ease;
}
.view-more-item.view-more-fading {
  opacity: 0;
  transform: scale(0.95) translateY(8px);
}

.pre-visualization-container {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  justify-content: center;
  margin-top: 3rem;
  text-align: center;
}

.pre-visualization-text {
  font-size: 1rem;
  font-weight: 500;
}

.pre-visualization-checkbox-list {
  align-items: center;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: center;
  list-style: none;
}

.pre-visualization-checkbox-item {
  position: relative;
}
.pre-visualization-checkbox-item label {
  border: 2px solid var(--black, #121212);
  border-radius: 2rem;
  cursor: pointer;
  display: inline-block;
  padding: 0.25rem 1rem;
  transition: background-color 0.5s ease-in-out, color 0.5s ease-in-out, opacity 0.5s ease-in-out;
}
.pre-visualization-checkbox-item label:hover {
  background-color: var(--black, #121212);
  color: var(--white, #ffffff);
  opacity: 0.5;
}
.pre-visualization-checkbox-item input[type=radio] {
  accent-color: transparent;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 2rem;
  cursor: pointer;
  height: 100%;
  left: 50%;
  margin: 0;
  opacity: 0;
  position: absolute;
  top: 50%;
  transform: translateX(-50%) translateY(-50%);
  width: 100%;
  -webkit-appearance: none;
}
.pre-visualization-checkbox-item input[type=radio]:focus-visible {
  opacity: 1;
  outline: 2px solid var(--blue, #3b82f6);
  outline-offset: 0.5rem;
}
.pre-visualization-checkbox-item input[type=radio]:checked + label {
  background-color: var(--black, #121212);
  color: var(--white, #ffffff);
}

.panel-personalize-deliver-form {
  display: flex;
  flex-direction: column;
  gap: 3rem;
}

.panel-personalize-deliver-form__section {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.panel-personalize-deliver-form__section p, .panel-personalize-deliver-form__section .number-of-devices-label {
  font: 500 1.1rem "Customfont";
}

.landscape-upload-container,
.background-landscape-buttons-container {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.submitted-image-url {
  align-items: center;
  background-color: var(--white, #ffffff);
  border-radius: 0.5rem;
  display: flex;
  flex-direction: row;
  font-size: 1rem;
  font-weight: 700;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  width: fit-content;
}
.submitted-image-url p, .submitted-image-url .number-of-devices-label {
  word-break: break-word;
}

.submitted-image-url-container {
  align-items: center;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 1rem;
}

.background-color-container {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 1rem;
  width: 100%;
}

.background-color-radio-container {
  align-items: center;
  background-color: var(--white, #ffffff);
  border-radius: 0.5rem;
  box-shadow: 0 1px 12px rgba(204, 204, 204, 0.25);
  display: flex;
  flex-direction: row;
  gap: 0.5rem;
  padding: 0.75rem 1rem;
  width: fit-content;
}
.background-color-radio-container .background-color-custom-radio {
  border: 2px solid var(--black, #121212);
  border-radius: 100%;
  height: 1.25rem;
  width: 1.25rem;
}
.background-color-radio-container input[type=radio]:checked + .background-color-custom-radio {
  border-width: 0.5rem;
}
.background-color-radio-container .background-color-custom-radio-label {
  border-radius: 100%;
  background-color: var(--black, #121212);
  height: 2rem;
  width: 2rem;
}
.background-color-radio-container .red {
  background-color: var(--red, #fd5249);
}
.background-color-radio-container .green {
  background: #1abc9c;
}
.background-color-radio-container .blue {
  background: var(--blue, #3b82f6);
}
.background-color-radio-container .orange {
  background: #ff7a00;
}
.background-color-radio-container .purple {
  background: #b91abc;
}
.background-color-radio-container .yellow {
  background: #f0e81a;
}
.background-color-radio-container .gray {
  background: #424242;
}
.background-color-radio-container .darkred {
  background: #c50d0d;
}
.background-color-radio-container .pink {
  background: #ff3cbd;
}

.submmited-image-delete {
  margin-left: auto;
  white-space: nowrap;
}
@media only screen and (max-width: 950px) {
  .submmited-image-delete {
    margin-right: 0;
  }
}

.panel-personalize-event-download-uploaded-image {
  align-items: center;
  background-color: var(--black, #121212);
  border: 1px solid var(--black, #121212);
  border-radius: 0.5rem;
  cursor: pointer;
  display: flex;
  justify-content: center;
  padding: 0.5rem;
  transition: background-color 0.5s ease;
}
.panel-personalize-event-download-uploaded-image img {
  transition: filter 0.5s ease;
}
.panel-personalize-event-download-uploaded-image:hover {
  background-color: var(--white, #ffffff);
}
.panel-personalize-event-download-uploaded-image:hover img {
  filter: brightness(0);
}

.submmited-image-url-container {
  align-items: center;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 0.5rem;
  padding-right: 0.5rem;
}
.submmited-image-url-container .panel-personalize-event-download-uploaded-image,
.submmited-image-url-container .submmited-image-delete {
  box-sizing: border-box;
  height: 2.375rem;
}

.callout-action-container,
.ai-scenario-creation-container {
  align-items: center;
  background: var(--blue-light, #e5edfa);
  border-radius: 0.5rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding: 2rem 1rem;
  margin-top: 1rem;
  text-align: center;
  width: 100%;
}
.callout-action-container h3,
.ai-scenario-creation-container h3 {
  font: 400 1.5rem "Customfont";
}

.input-color-container {
  display: flex;
  flex-direction: row;
}

.my-scenarios-container {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.view-more-button + .my-scenarios-container {
  margin-top: 2rem;
}

.my-scenarios-container__header {
  align-items: baseline;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 1rem;
}
.my-scenarios-container__header a {
  font-size: 1rem;
  color: var(--blue, #3b82f6);
  font-weight: bold;
  text-decoration: unset;
}
.my-scenarios-container__header p, .my-scenarios-container__header .number-of-devices-label {
  font: 500 1.125rem "Customfont";
}

.modal-error-message-container,
.modal-success-message-container {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.preview-images-container {
  align-items: stretch;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  margin: 2rem -50px 0;
}
@media only screen and (max-width: 950px) {
  .preview-images-container {
    margin: 2rem 0 0;
  }
}
@media only screen and (max-width: 550px) {
  .preview-images-container {
    gap: 2rem;
    grid-template-columns: 1fr;
  }
  .preview-images-container label {
    width: 100%;
  }
}

.composition-image-container {
  display: flex;
  flex-direction: row;
  gap: 1rem;
  justify-content: center;
}

.preview-image {
  display: flex;
  flex-direction: column;
  font: 500 0.9rem "Customfont";
  gap: 1rem;
}
.preview-image .button-primary {
  margin-top: auto;
}
.preview-image h3 {
  font: 700 1.1rem "Customfont";
}

.preview-image-background {
  align-items: center;
  background-color: var(--white, #ffffff);
  border-radius: 0.5rem;
  display: flex;
  flex-direction: column;
  height: 100%;
  justify-content: center;
  padding: 0.5rem;
}

.upload-container {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin-top: auto;
}

.personalize-submit-button {
  bottom: 1rem;
  position: sticky;
}
@media only screen and (max-width: 950px) {
  .personalize-submit-button {
    bottom: calc(62px + env(safe-area-inset-bottom) + 1rem);
  }
}

.panel-personalize-deliver-form__section h4 {
  font: 500 1.1rem "Customfont";
}

.social-media-form-container {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.ai-event-effect-custom-radio label div,
.custom-checkbox-circle {
  width: 18px;
  height: 18px;
}

@media only screen and (max-width: 950px) {
  .my-scenarios-container__list,
  .photo-style-checkbox-list {
    gap: 1rem;
  }
}
.panel-page-galery-form__section {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  border-top: 1px solid var(--gray-medium, #dee2e6);
  padding-top: 2rem;
}
.panel-page-galery-form__section p, .panel-page-galery-form__section .number-of-devices-label {
  margin-bottom: 1rem;
}
.panel-page-galery-form__section .switch-checkbox-container p, .panel-page-galery-form__section .switch-checkbox-container .number-of-devices-label {
  margin-bottom: 0;
}

.panel-personalize-event-add-option-button {
  margin: 1rem auto 0 auto;
  width: 100%;
}

.optional-frames-container > div,
.optional-background-container > div {
  border-top: 1px solid var(--gray-medium, #dee2e6);
  padding: 1rem 0;
}
.optional-frames-container > div > button,
.optional-background-container > div > button {
  margin-right: -50px;
}
@media only screen and (max-width: 950px) {
  .optional-frames-container > div > button,
  .optional-background-container > div > button {
    margin-right: 0;
  }
}

.event-personalize-checkbox-user-container {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: space-between;
}

.panel-capture-instruction-customization-fields {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  margin-top: 0.5rem;
}

.panel-capture-instruction-customization-text-container {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.panel-capture-instruction-customization-text-container h4 {
  margin: 0;
}
.panel-capture-instruction-customization-text-container textarea {
  background-color: var(--white, #ffffff);
  border: 1px solid var(--gray-medium, #dee2e6);
  border-radius: 0.5rem;
  font-family: "Customfont", sans-serif;
  font-size: 1rem;
  line-height: 1.4;
  padding: 0.75rem 1rem;
  resize: vertical;
  width: 100%;
}
.panel-capture-instruction-customization-text-container textarea:focus {
  border-color: var(--blue, #3b82f6);
  outline: none;
}

.panel-capture-instruction-customization-images-container {
  align-items: stretch;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}
@media only screen and (max-width: 950px) {
  .panel-capture-instruction-customization-images-container {
    grid-template-columns: 1fr;
  }
}

.panel-capture-instruction-customization-image-container {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.panel-capture-instruction-customization-image-container h4 {
  margin: 0;
}
.panel-capture-instruction-customization-image-container p, .panel-capture-instruction-customization-image-container .number-of-devices-label {
  margin: 0;
}
.panel-capture-instruction-customization-image-container .button-primary {
  margin-top: 0.25rem;
  width: fit-content;
}

.panel-personalize-event-frame-fit-toggle {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-top: 1.5rem;
}

.panel-personalize-event-frame-fit-toggle-header {
  align-items: center;
  display: flex;
  flex-direction: row;
  gap: 0.5rem;
}
.panel-personalize-event-frame-fit-toggle-header h4 {
  font: 500 1.1rem "Customfont";
  margin: 0;
}

.panel-personalize-event-frame-fit-info-btn {
  align-items: center;
  background-color: transparent;
  border: none;
  cursor: pointer;
  display: inline-flex;
  padding: 0;
}
.panel-personalize-event-frame-fit-info-btn img {
  display: block;
  opacity: 0.7;
}
.panel-personalize-event-frame-fit-info-btn:hover img {
  opacity: 1;
}

.panel-personalize-event-frame-fit-options {
  display: grid;
  gap: 1rem;
  grid-template-columns: 1fr 1fr;
}
@media only screen and (max-width: 750px) {
  .panel-personalize-event-frame-fit-options {
    grid-template-columns: 1fr;
  }
}

.panel-personalize-event-frame-fit-info-content {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  text-align: left;
}
.panel-personalize-event-frame-fit-info-content h2 {
  font: 600 1.4rem "Customfont";
  margin: 0;
}
.panel-personalize-event-frame-fit-info-content h3 {
  font: 600 1.05rem "Customfont";
  margin: 0.5rem 0 0 0;
}
.panel-personalize-event-frame-fit-info-content p, .panel-personalize-event-frame-fit-info-content .number-of-devices-label,
.panel-personalize-event-frame-fit-info-content strong {
  font: 400 0.9rem "Customfont";
  line-height: 1.5;
  margin: 0;
}
.panel-personalize-event-frame-fit-info-content strong {
  font-weight: 600;
  margin-top: 0.5rem;
}

.panel-personalize-event-frame-fit-info-examples {
  display: flex;
  flex-direction: row;
  gap: 1rem;
  justify-content: center;
  margin: 0.5rem 0;
}
.panel-personalize-event-frame-fit-info-examples figure {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin: 0;
  max-width: 50%;
}
.panel-personalize-event-frame-fit-info-examples img {
  border-radius: 0.5rem;
  box-shadow: 0 1px 12px rgba(204, 204, 204, 0.25);
  display: block;
  height: auto;
  width: 100%;
}
.panel-personalize-event-frame-fit-info-examples figcaption {
  font: 500 0.85rem "Customfont";
  text-align: center;
}

/* ---- Entrega e moldura digital: switches + bloco aninhado + orientação ---- */
.panel-personalize-event-switch-text {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
}
.panel-personalize-event-switch-text p, .panel-personalize-event-switch-text .number-of-devices-label {
  font: 500 1rem "Customfont";
  margin: 0;
  line-height: 1.3;
}
.panel-personalize-event-switch-text small {
  font-size: 0.8rem;
  color: var(--gray-dark, #434343);
  line-height: 1.45;
}

.panel-personalize-event-nested {
  position: relative;
  margin-top: 1rem;
  margin-left: 1.1rem;
  background-color: var(--blue-light, #e5edfa);
  border: 1px solid var(--blue-low-opacity, #c9d7f2);
  border-left: 3px solid var(--blue, #3b82f6);
  border-radius: 10px;
  padding: 1.25rem;
  display: flex;
  flex-direction: column;
  gap: 1.1rem;
}
.panel-personalize-event-nested::before {
  content: "";
  position: absolute;
  left: -1.1rem;
  top: -0.9rem;
  width: 1.1rem;
  height: 2.6rem;
  border-left: 2px solid var(--blue-low-opacity, #c9d7f2);
  border-bottom: 2px solid var(--blue-low-opacity, #c9d7f2);
  border-bottom-left-radius: 10px;
}
@media only screen and (max-width: 750px) {
  .panel-personalize-event-nested {
    margin-left: 0.6rem;
    padding: 1rem;
  }
}
.panel-personalize-event-nested .preview-images-container {
  margin: 0;
}
.panel-personalize-event-nested .preview-images-container.panel-personalize-event-uploads-single {
  grid-template-columns: minmax(0, 340px);
  justify-content: center;
}
.panel-personalize-event-nested .preview-images-container.panel-personalize-event-uploads-single .preview-image-background img {
  max-width: 160px;
  height: auto;
}
.panel-personalize-event-nested .optional-frames-container > div > button,
.panel-personalize-event-nested .optional-background-container > div > button {
  margin-right: 0;
}
.panel-personalize-event-nested .panel-personalize-event-add-option-button {
  background-color: transparent;
  color: var(--black, #121212);
  border: 1px dashed var(--gray-medium, #dee2e6);
  border-radius: 0.5rem;
  font-weight: 600;
  font-size: 0.9rem;
  width: 100%;
  padding: 0.65rem 1rem;
  transition: background-color 0.25s ease, border-color 0.25s ease;
}
.panel-personalize-event-nested .panel-personalize-event-add-option-button:hover {
  background-color: var(--blue-light, #e5edfa);
  border-color: var(--blue, #3b82f6);
  opacity: 1;
}
.panel-personalize-event-nested .panel-personalize-event-add-option-button img {
  width: 18px;
  height: 18px;
  filter: brightness(0);
}

.panel-personalize-event-frame-controls {
  display: flex;
  flex-direction: column;
  gap: 1.1rem;
}

.panel-personalize-event-orient-question {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}
.panel-personalize-event-orient-question h4 {
  font: 500 1.05rem "Customfont";
  margin: 0;
}

.panel-personalize-event-orient-hint {
  margin: 0 0 0.35rem;
  font-size: 0.8rem;
  color: var(--gray-dark, #434343);
  line-height: 1.45;
}

.panel-personalize-event-orient-options {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.75rem;
}
@media only screen and (max-width: 750px) {
  .panel-personalize-event-orient-options {
    gap: 0.6rem;
  }
}

.panel-personalize-event-orient-card input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.panel-personalize-event-orient-card label {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  text-align: center;
  height: 100%;
  background-color: var(--white, #ffffff);
  border: 1px solid var(--gray-medium, #dee2e6);
  border-radius: 0.5rem;
  padding: 0.9rem 0.5rem;
  cursor: pointer;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.panel-personalize-event-orient-card label svg {
  width: 26px;
  height: 26px;
  color: var(--gray-dark, #434343);
  transition: color 0.2s ease;
}
.panel-personalize-event-orient-card label span {
  font: 600 0.85rem "Customfont";
  line-height: 1.2;
}
.panel-personalize-event-orient-card input:checked + label {
  border-color: var(--blue, #3b82f6);
  box-shadow: inset 0 0 0 1px var(--blue, #3b82f6);
}
.panel-personalize-event-orient-card input:checked + label svg {
  color: var(--blue, #3b82f6);
}

.modal-unsaved-changes .content-modal.max-width {
  max-width: calc(700px + 2rem);
}

.panel-personalize-unsaved-changes-content {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  text-align: center;
}
.panel-personalize-unsaved-changes-content h2 {
  margin: 0;
}
.panel-personalize-unsaved-changes-content p, .panel-personalize-unsaved-changes-content .number-of-devices-label {
  color: var(--gray-dark, #434343);
  line-height: 1.5;
  margin: 0;
  max-width: 28rem;
}

.panel-personalize-unsaved-changes-buttons {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  justify-content: center;
  margin-top: 1rem;
  width: 100%;
}
.panel-personalize-unsaved-changes-buttons .button-primary {
  padding: 0.85rem 1rem;
  width: 100%;
}

#lead_collection_config_div > .photo-style-container {
  margin-top: 2rem;
}

.panel-configure-leads-block {
  border-top: 1px solid var(--gray-medium, #dee2e6);
  padding-top: 2rem;
}

.panel-lead-preview-device {
  overflow: hidden;
  width: 600px;
  height: 750px;
  max-width: 100%;
  margin: 0 auto;
}

.panel-lead-preview-device iframe {
  width: 1200px;
  height: 1500px;
  transform: scale(0.5);
  transform-origin: top left;
  display: block;
}

.panel-personalize-phone-preview {
  overflow: hidden;
  width: 320px;
  height: 576px;
  max-width: 100%;
  margin: 0 auto;
}

.panel-personalize-phone-preview iframe {
  width: 400px;
  height: 720px;
  transform: scale(0.8);
  transform-origin: top left;
  display: block;
}

.panel-configure-leads-appearance {
  background-color: var(--blue-light, #e5edfa);
  border: 1px solid var(--blue-low-opacity, #c9d7f2);
  border-left: 3px solid var(--blue, #3b82f6);
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  gap: 2rem;
  margin-top: 2rem;
  padding: 1.5rem 2rem 2rem;
}
.panel-configure-leads-appearance .panel-configure-leads-appearance-item {
  margin-top: 0;
}
.panel-configure-leads-appearance h4 {
  font: 500 1.05rem "Customfont";
  margin: 0;
}
.panel-configure-leads-appearance .mt-1 {
  font-size: 0.8rem;
  color: var(--gray-dark, #434343);
  line-height: 1.45;
  margin: 0.3rem 0 0;
}

.panel-configure-leads-branding-inherited {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  background-color: var(--white, #ffffff);
  border: 1px solid var(--gray-medium, #dee2e6);
  border-radius: 0.6rem;
  padding: 1rem 1.25rem;
}
.panel-configure-leads-branding-inherited .button-secondary {
  align-self: flex-start;
}

.panel-configure-leads-branding-inherited-preview {
  display: flex;
  align-items: center;
  gap: 1.25rem;
}

.panel-configure-leads-branding-logo-thumb {
  align-items: center;
  background-color: rgba(0, 0, 0, 0.04);
  border-radius: 0.5rem;
  display: flex;
  height: 3rem;
  justify-content: center;
  padding: 0.35rem;
  width: 3rem;
}
.panel-configure-leads-branding-logo-thumb img {
  max-height: 100%;
  max-width: 100%;
  object-fit: contain;
}

.panel-configure-leads-branding-swatches {
  display: flex;
  gap: 0.5rem;
}

.panel-configure-leads-branding-swatch {
  border: 1px solid var(--gray-medium, #dee2e6);
  border-radius: 0.4rem;
  display: inline-block;
  height: 1.75rem;
  width: 1.75rem;
}

.panel-configure-leads-branding-note {
  color: var(--gray-dark, #434343);
  font-size: 0.8rem;
  line-height: 1.45;
  margin: 0;
}

.panel-configure-leads-branding-custom {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.panel-configure-leads-create-question-button.button-secondary {
  width: 100%;
}

.panel-configure-leads-questions-list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.draggable-list-item {
  background-color: var(--white, #ffffff);
  border-radius: 0.5rem;
  padding: 1rem;
}
.draggable-list-item.dragging {
  opacity: 0.4;
}
.draggable-list-item.over {
  outline: 2px dashed var(--gray-medium, #dee2e6);
  outline-offset: -2px;
}

.panel-configure-leads-question-container {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.panel-configure-leads-question-header {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.panel-configure-leads-question-header img[draggable=false] {
  cursor: grab;
  flex-shrink: 0;
  opacity: 0.5;
}
.panel-configure-leads-question-header .chatgpt-switch {
  flex-shrink: 0;
  width: 32px;
  height: 20px;
  min-width: 32px;
  min-height: 20px;
}
.panel-configure-leads-question-header .chatgpt-slider:before {
  top: 3px;
  left: 3px;
  width: 14px;
  height: 14px;
}
.panel-configure-leads-question-header input:checked + .chatgpt-slider:before {
  left: 15px;
}

.panel-configure-leads-question-label {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex: 1;
  cursor: pointer;
}
.panel-configure-leads-question-label span {
  margin-bottom: 0;
}

.panel-configure-leads-question-required {
  font-size: 0.7rem;
  font-weight: 600;
  text-transform: uppercase;
  padding: 0.15rem 0.6rem;
  border-radius: 1rem;
  background-color: var(--blue, #3b82f6);
  color: var(--white, #ffffff);
}

.panel-configure-leads-edit-question-button {
  background: none;
  cursor: pointer;
  padding: 0.25rem;
  flex-shrink: 0;
}

.panel-configure-leads-question-alternatives {
  list-style: none;
  margin: 0;
  padding-left: 5rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.panel-configure-leads-alternative-info {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.85rem;
}
.panel-configure-leads-alternative-info .panel-configure-leads-alternative-type-icon {
  flex-shrink: 0;
}
.panel-configure-leads-alternative-info .panel-configure-leads-alternative-thumb {
  border-radius: 4px;
  object-fit: cover;
}

.panel-configure-leads-lgpd-text-container {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin-top: 1.5rem;
}

.panel-configure-leads-lgpd-textarea {
  width: 100%;
  box-sizing: border-box;
  resize: vertical;
  min-height: 8rem;
  padding: 0.75rem 1rem;
  border: 1px solid var(--gray-medium, #dee2e6);
  border-radius: 0.5rem;
  font-family: inherit;
  font-size: 0.9rem;
  line-height: 1.5;
}

.return-link {
  background-color: var(--base, #ffffff);
  border-radius: 100%;
  box-shadow: 8px 12px 24px 0px rgba(18, 18, 18, 0.08);
  display: inline-block;
  height: 56px;
  line-height: 0;
  position: relative;
  transition: background-color 0.5s linear;
  width: 56px;
}
.return-link img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  transition: filter 0.5s linear;
}
.return-link:hover {
  background-color: var(--blue, #3b82f6);
}
.return-link:hover img {
  filter: contrast(0) brightness(100);
}
@media only screen and (max-width: 950px) {
  .return-link {
    width: 40px;
    height: 40px;
  }
}

.user-confirm-header,
.user-terms-header {
  display: grid;
  grid-template-columns: 1fr 3fr 1fr;
  justify-content: space-between;
  align-items: center;
  padding: 1rem;
}

.user-confirm-header__logo {
  align-items: center;
  aspect-ratio: 190/64;
  display: flex;
  filter: drop-shadow(0 1px 12px rgba(204, 204, 204, 0.25));
  justify-content: center;
  height: auto;
  margin: 0 auto;
  max-width: 190px;
  width: 100%;
}

.user-confirm-header__language-container,
.panel-capture__language-container,
.checkout__support-container {
  display: flex;
  flex-direction: row;
  justify-content: end;
  gap: 1rem;
}

.user-confirm-language-container {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
}

.headset-container {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.9rem;
  font-weight: 700;
}

.user-confirm-main article {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin: 6rem auto 0;
  max-width: 750px;
  text-align: center;
  width: calc(100% - 2rem);
}

.user-confirm-main.user-password article {
  flex-direction: row;
  flex-wrap: wrap;
  gap: 6rem;
  justify-content: center;
  max-width: unset;
  padding-bottom: 1rem;
}

.verify-code-container {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  gap: 1rem;
}
.verify-code-container input {
  background-color: var(--white, #ffffff) !important;
  border-bottom: 1px solid var(--black, #121212);
  width: 100%;
  aspect-ratio: 1/1;
  text-align: center;
  font-size: 2rem;
  max-width: 90px;
}
.verify-code-container input:focus {
  border-bottom-color: var(--blue, #3b82f6) !important;
}
@media only screen and (max-width: 950px) {
  .verify-code-container {
    gap: 0.25rem;
  }
}

.user-confirm-form {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-top: 3rem;
}

.user-confirm-form__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}
.user-confirm-form__header p, .user-confirm-form__header .number-of-devices-label {
  font-size: 1.5rem;
}

.email-verify-code-resend-message {
  font-size: 0.9rem;
  font-weight: bold;
  background: none;
  border: none;
  padding: 0;
}
.email-verify-code-resend-message.blue {
  color: var(--blue, #3b82f6);
}
.email-verify-code-resend-message:disabled {
  background: none;
}

.change-email-link {
  color: var(--blue, #3b82f6);
  text-decoration: none;
  font-weight: bold;
  font-size: 1rem;
}

.change-email-container {
  display: flex;
  flex-direction: row;
  gap: 1rem;
  justify-content: center;
  font-size: 1rem;
  flex-wrap: wrap;
}

.sent-email-message-container {
  align-items: center;
  background: var(--white, #ffffff);
  border-radius: 0.5rem;
  display: flex;
  flex-direction: row;
  gap: 1rem;
  margin-top: 1rem;
  padding: 1.5rem;
}
.sent-email-message-container p, .sent-email-message-container .number-of-devices-label {
  font-weight: 500 !important;
  font-size: 1.1rem !important;
  width: 100%;
  text-align: left;
  padding: 0 !important;
}
@media only screen and (max-width: 950px) {
  .sent-email-message-container p, .sent-email-message-container .number-of-devices-label {
    font-size: 0.8rem !important;
  }
}

.delete-sent-email-message-button {
  background: none;
  border: none;
}

@media only screen and (max-width: 950px) {
  .user-confirm-header__language-container,
  .panel-capture__ellipsis-image {
    display: none;
  }
}
.input-container > label {
  font-weight: 500;
  left: 1rem;
  top: calc(100% - 1.5rem);
  transition: font-size 0.5s ease, transform 0.5s ease;
  border-color: var(--black, #121212);
  font-size: 0.75rem;
  width: 100%;
  text-align: left;
  display: inline-block;
  position: relative;
}

.input-container select {
  width: 100%;
  border: none;
  border-bottom: 1px solid var(--black, #121212);
  background: none;
  font: 700 1rem "Customfont";
  padding: 0.5rem 1rem;
  transition: border-color 0.5s ease;
}

.phone-number-container {
  display: flex;
  flex-direction: row;
}

.phone-number-container select {
  width: fit-content;
}

.phone-number-container input {
  background: none;
  border-bottom: 1px solid var(--black, #121212);
  font-weight: 500;
  padding: 0.5rem 1rem;
  transition: border-color 0.5s ease;
  width: 100%;
}

.password-requirements {
  display: flex;
  flex-direction: column;
  justify-content: left;
  list-style: none;
  font-size: 0.9rem;
  gap: 0.25rem;
}
.password-requirements li {
  display: flex;
  flex-direction: row;
  gap: 0.5rem;
}

.password-requirements-title {
  display: block;
  text-align: left;
}

.password-requirements-container {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.user-register-form,
.user-profile-form {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  padding-bottom: 3rem;
  font-size: 1rem;
}

.user-agree-with-terms-input-container {
  align-items: center;
  display: flex;
  flex-direction: row;
  justify-content: center;
  gap: 1rem;
  padding: 1rem 2rem;
  background-color: var(--white, #ffffff);
  border-radius: 0.5rem;
}
.user-agree-with-terms-input-container input {
  width: 1rem;
  height: 1rem;
  border: 2px solid var(--black, #121212);
  border-radius: 0.1rem;
}
.user-agree-with-terms-input-container.input-container label {
  font-size: 1rem;
  left: unset;
  top: unset;
  width: fit-content;
}
.user-agree-with-terms-input-container a {
  color: var(--black, #121212);
  font-weight: bold;
}

.custom-project-briefing-container {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  margin: 0 auto;
  width: min(1074px, 100%);
}
.custom-project-briefing-container h3 {
  font: 400 1.5rem "Customfont";
}

.custom-project-briefing-title-block {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding-bottom: 1.5rem;
}

.custom-project-briefing-intro-text {
  margin: 0 auto;
  max-width: 540px;
  font: 400 0.95rem "Customfont";
  line-height: 1.55;
  text-align: center;
  color: var(--gray-dark, #434343);
}

.custom-project-briefing-cta {
  position: fixed;
  left: 50%;
  bottom: 1.5rem;
  transform: translateX(-50%);
  z-index: 100;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 1rem 2rem;
  background: linear-gradient(90deg, var(--gradient, #3b82f6) 0%, var(--gradient2, #60c7ba) 100%);
  color: var(--white, #ffffff);
  font: 700 1rem "Customfont";
  text-decoration: none;
  border-radius: 999px;
  box-shadow: 0 12px 28px rgba(17, 37, 98, 0.25);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
  white-space: nowrap;
}
.custom-project-briefing-cta:hover {
  transform: translateX(-50%) translateY(-2px);
  box-shadow: 0 16px 36px rgba(17, 37, 98, 0.3);
}
.custom-project-briefing-cta:active {
  transform: translateX(-50%) translateY(0);
}
@media only screen and (max-width: 600px) {
  .custom-project-briefing-cta {
    left: 1rem;
    right: 1rem;
    bottom: 1rem;
    transform: none;
    justify-content: center;
    padding: 0.875rem 1.5rem;
    font-size: 0.95rem;
  }
  .custom-project-briefing-cta:hover {
    transform: translateY(-2px);
  }
  .custom-project-briefing-cta:active {
    transform: none;
  }
}

.custom-project-briefing-examples {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  padding: 2rem 0;
  border-top: 1px solid var(--gray-medium, #dee2e6);
  border-bottom: 1px solid var(--gray-medium, #dee2e6);
  margin-bottom: 6rem;
}

.custom-project-briefing-examples-header {
  text-align: center;
}
.custom-project-briefing-examples-header h2 {
  font: 700 1.5rem "Customfont";
  color: var(--blue-strong, #112562);
  margin: 0 0 0.5rem;
}
.custom-project-briefing-examples-header p, .custom-project-briefing-examples-header .number-of-devices-label {
  font: 400 0.95rem "Customfont";
  line-height: 1.55;
  color: var(--gray-dark, #434343);
  margin: 0 auto;
  max-width: 36rem;
}

.custom-project-briefing-examples-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
}

.custom-project-briefing-example {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--gray-medium, #dee2e6);
}
.custom-project-briefing-example:first-child {
  padding-top: 0;
  border-top: 0;
}

.custom-project-briefing-example-head {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 1rem;
}

.custom-project-briefing-example-num {
  font: 700 3rem "Customfont";
  line-height: 0.9;
  color: var(--blue, #3b82f6);
  font-variant-numeric: tabular-nums;
}

.custom-project-briefing-example-title-wrap {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.custom-project-briefing-example-kicker {
  font: 600 0.7rem "Customfont";
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--gray-dark, #434343);
}

.custom-project-briefing-example h3 {
  font: 700 1.15rem "Customfont";
  color: var(--blue-strong, #112562);
  line-height: 1.25;
  margin: 0;
}

.custom-project-briefing-example-chips {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
}

.custom-project-briefing-example-chip-label {
  font: 700 0.7rem "Customfont";
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--gray-dark, #434343);
  margin-right: 0.25rem;
}

.custom-project-briefing-example-chip {
  font: 500 0.85rem "Customfont";
  color: var(--blue-strong, #112562);
  background: var(--gray-light, #f5f6f7);
  border: 1px solid var(--gray-medium, #dee2e6);
  border-radius: 999px;
  padding: 0.25rem 0.75rem;
  line-height: 1.2;
}

.custom-project-briefing-example-label {
  display: inline-block;
  font: 700 0.7rem "Customfont";
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--blue, #3b82f6);
  margin-bottom: 0.25rem;
}

.custom-project-briefing-example-main p, .custom-project-briefing-example-main .number-of-devices-label {
  font: 400 0.95rem "Customfont";
  line-height: 1.55;
  color: var(--black, #121212);
  margin: 0;
  border-left: 3px solid var(--blue, #3b82f6);
  padding-left: 0.75rem;
}

.custom-project-briefing-example-cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
}
@media only screen and (max-width: 600px) {
  .custom-project-briefing-example-cols {
    grid-template-columns: 1fr;
  }
}
.custom-project-briefing-example-cols p, .custom-project-briefing-example-cols .number-of-devices-label {
  font: 400 0.9rem "Customfont";
  line-height: 1.55;
  color: var(--black, #121212);
  margin: 0;
}

.custom-project-briefing-example-media {
  background: var(--gray-light, #f5f6f7);
  border: 1px solid var(--gray-medium, #dee2e6);
  border-radius: 0.5rem;
  padding: 1rem;
  overflow: hidden;
}
.custom-project-briefing-example-media img {
  display: block;
  width: 100%;
  height: auto;
}

.custom-project-briefing-possibilities {
  padding-top: 1.5rem;
  border-top: 1px solid var(--gray-medium, #dee2e6);
}
.custom-project-briefing-possibilities h3 {
  font: 700 1.25rem "Customfont";
  color: var(--blue-strong, #112562);
  margin: 0 0 0.5rem;
}

.custom-project-briefing-possibilities-lead {
  font: 400 0.95rem "Customfont";
  line-height: 1.55;
  color: var(--gray-dark, #434343);
  margin: 0 0 1.25rem;
}

.custom-project-briefing-possibilities-grid {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem 1.5rem;
}
@media only screen and (max-width: 600px) {
  .custom-project-briefing-possibilities-grid {
    grid-template-columns: 1fr;
  }
}
.custom-project-briefing-possibilities-grid li {
  display: grid;
  grid-template-columns: 2.5rem 1fr;
  gap: 0.75rem;
  align-items: start;
  padding-top: 0.5rem;
  border-top: 1px solid var(--gray-medium, #dee2e6);
}
.custom-project-briefing-possibilities-grid h4 {
  font: 700 0.95rem "Customfont";
  color: var(--blue-strong, #112562);
  margin: 0 0 0.25rem;
  line-height: 1.2;
}
.custom-project-briefing-possibilities-grid p, .custom-project-briefing-possibilities-grid .number-of-devices-label {
  font: 400 0.85rem "Customfont";
  line-height: 1.5;
  color: var(--gray-dark, #434343);
  margin: 0;
}

.custom-project-briefing-possibilities-icon {
  width: 2rem;
  height: 2rem;
  border-radius: 0.5rem;
  background: linear-gradient(135deg, var(--gradient, #3b82f6) 0%, var(--gradient2, #60c7ba) 100%);
  color: var(--white, #ffffff);
  display: flex;
  align-items: center;
  justify-content: center;
}
.custom-project-briefing-possibilities-icon img {
  width: 1rem;
  height: 1rem;
}

.psd-convencao-body {
  margin: 0;
  background: #0a2447;
  color: #fff;
  font-family: "Nunito", sans-serif;
  min-height: 100vh;
}

.psd-convencao-idle {
  position: fixed;
  inset: 0;
  z-index: 50;
  cursor: pointer;
  background-color: #0a2447;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  display: flex;
  align-items: flex-end;
  justify-content: center;
}

.psd-convencao-idle-hint {
  margin: 0 0 6vh;
  font-size: 24px;
  font-weight: 800;
  color: #fff;
  text-shadow: 0 2px 14px rgba(0, 0, 0, 0.6);
  animation: psd-convencao-idle-pulse 1.6s ease-in-out infinite;
}

@keyframes psd-convencao-idle-pulse {
  0%, 100% {
    opacity: 0.55;
  }
  50% {
    opacity: 1;
  }
}
.psd-convencao-stage {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 100vh;
  min-height: 100dvh;
  padding: 16vh 38px 4vh;
  box-sizing: border-box;
  background-color: #0a2447;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}

.psd-convencao-header {
  text-align: center;
  margin: 0 0 44px;
}

.psd-convencao-sub {
  font-size: 32px;
  font-weight: 800;
  margin: 0;
  text-shadow: 0 2px 14px rgba(0, 0, 0, 0.6);
  letter-spacing: 0.2px;
}

.psd-convencao-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 34px;
  width: 100%;
  max-width: 900px;
  margin: 0 auto;
}

.psd-convencao-card {
  background: rgba(255, 255, 255, 0.08);
  border: 2px solid rgba(255, 255, 255, 0.22);
  border-radius: 22px;
  padding: 0;
  overflow: hidden;
  cursor: pointer;
  transition: transform 0.15s ease-out, border-color 0.15s ease-out, box-shadow 0.15s ease-out;
  color: inherit;
  font: inherit;
  display: flex;
  flex-direction: column;
}
.psd-convencao-card:hover, .psd-convencao-card:focus-visible {
  transform: translateY(-4px);
  border-color: #f07d1a;
  box-shadow: 0 14px 44px rgba(240, 125, 26, 0.4);
  outline: none;
}
.psd-convencao-card:active {
  transform: translateY(0);
}

.psd-convencao-card-image-wrapper {
  width: 100%;
  aspect-ratio: 1/1;
  background: #0a2447;
  overflow: hidden;
}

.psd-convencao-card-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.psd-convencao-card-label {
  padding: 16px 12px;
  font-size: 24px;
  font-weight: 800;
  text-align: center;
  background: rgba(10, 36, 71, 0.55);
}

@media only screen and (max-width: 1024px) {
  .psd-convencao-stage {
    padding: 14vh 24px 4vh;
  }
  .psd-convencao-header {
    margin-bottom: 32px;
  }
  .psd-convencao-sub {
    font-size: 26px;
  }
  .psd-convencao-grid {
    gap: 20px;
    max-width: 700px;
  }
  .psd-convencao-card-label {
    font-size: 19px;
    padding: 13px 10px;
  }
}
@media only screen and (max-width: 600px) {
  .psd-convencao-stage {
    padding: 13vh 14px 4vh;
  }
  .psd-convencao-header {
    margin-bottom: 22px;
  }
  .psd-convencao-sub {
    font-size: 19px;
  }
  .psd-convencao-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
  }
  .psd-convencao-card {
    border-radius: 14px;
  }
  .psd-convencao-card-label {
    font-size: 12px;
    padding: 9px 6px;
    line-height: 1.2;
  }
  .psd-convencao-card:hover {
    transform: none;
    box-shadow: none;
    border-color: rgba(255, 255, 255, 0.22);
  }
  .psd-convencao-card:active {
    transform: scale(0.97);
    border-color: #f07d1a;
  }
}
.panel-crop-to-square {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  max-width: 350px;
  max-height: 350px;
}

#webcam {
  height: 100vh;
  left: 0;
  object-fit: cover;
  margin: 0 auto;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: -1;
}

.video-container {
  align-items: center;
  bottom: 0;
  display: flex;
  flex-direction: column;
  height: 100vh;
  justify-content: center;
  left: 0;
  overflow: hidden;
  position: absolute;
  top: 0;
  width: 100%;
}

.panel-capture-body {
  background-color: var(--black, #121212);
  color: var(--white, #ffffff);
}
.panel-capture-body.active {
  background-color: unset;
  color: unset;
}
.panel-capture-body select {
  color: var(--white, #ffffff);
  background-color: var(--black, #121212);
  border-radius: 0.25rem;
  padding: 0.25rem 0.5rem;
}
.panel-capture-body .user-confirm-header {
  align-items: start;
  display: grid;
  gap: 1rem;
  grid-template-columns: 2fr 1fr 2fr;
  margin: 0;
  padding: 1rem;
  position: relative;
  top: 0;
  width: 100%;
  z-index: 2;
}

.panel-capture__ellipsis-image,
.download__ellipsis-image {
  aspect-ratio: 519/395;
  height: auto;
  max-width: 519px;
  position: absolute;
  transform: translateX(-1rem);
  width: 35%;
  z-index: -1;
}
@media only screen and (max-width: 950px) {
  .panel-capture__ellipsis-image,
  .download__ellipsis-image {
    display: none;
  }
}

.panel-capture-main__icon-message {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 3rem;
  text-align: center;
}

.panel-capture-main__icon-message.error-message {
  align-items: start;
  gap: 2rem;
  text-align: left;
  z-index: 1;
}
.panel-capture-main__icon-message.error-message h1 {
  margin-top: -1rem;
}

.panel-capture-header-buttons-container {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 1rem;
}

.panel-capture-settings-button,
.panel-capture-last-image-button,
.panel-capture-reopen-effect-button,
.restart-panel-capture {
  align-items: center;
  color: var(--white, #ffffff);
  display: flex;
  flex-direction: row;
  font: 700 1rem "Customfont";
  gap: 0.5rem;
}
.panel-capture-settings-button img,
.panel-capture-last-image-button img,
.panel-capture-reopen-effect-button img,
.restart-panel-capture img {
  transition: filter 0.5s ease;
}
.panel-capture-settings-button:hover img,
.panel-capture-last-image-button:hover img,
.panel-capture-reopen-effect-button:hover img,
.restart-panel-capture:hover img {
  filter: contrast(0) brightness(90%);
}
@media only screen and (max-width: 950px) {
  .panel-capture-settings-button p, .panel-capture-settings-button .number-of-devices-label,
  .panel-capture-last-image-button p,
  .panel-capture-last-image-button .number-of-devices-label,
  .panel-capture-reopen-effect-button p,
  .panel-capture-reopen-effect-button .number-of-devices-label,
  .restart-panel-capture p,
  .restart-panel-capture .number-of-devices-label {
    display: none;
  }
}

.panel-capture-body .modal-select-your-frame .content-close,
.panel-capture-body .modal-select-your-background .content-close,
.panel-capture-body .modal-select-your-style-effect .content-close,
.panel-capture-body .modal-select-your-ambiance-effect .content-close,
.panel-capture-body .modal-select-your-face-swap-effect .content-close {
  visibility: hidden;
  pointer-events: none;
}

.panel-capture-main__icon-message ul {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 1rem;
  list-style: none;
  text-align: left;
  width: 100%;
}
.panel-capture-main__icon-message ul a {
  align-items: center;
  background-color: var(--white, #ffffff);
  border-radius: 6px;
  color: var(--black, #121212);
  display: flex;
  flex-direction: row;
  font: 700 1rem "Customfont";
  gap: 0.5rem;
  text-decoration: none;
  padding: 0.5rem 1rem;
}
.panel-capture-main__icon-message h1 {
  font: 500 clamp(1.5rem, 5vw, 3rem) "Customfont";
}

.panel-capture-main__main-list {
  gap: 3rem !important;
  justify-content: space-between;
}

.panel-capture-main__main-list-item {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.panel-capture-main__main-list-item p, .panel-capture-main__main-list-item .number-of-devices-label {
  font: 700 1rem "Customfont";
}

.panel-capture-button,
.panel-capture-accept-picture-button,
.panel-capture-refuse-picture-button {
  align-items: center;
  aspect-ratio: 1/1;
  background-color: var(--gray-dark, #434343);
  border-radius: 100%;
  bottom: min(2rem, 2vh);
  color: var(--white, #ffffff);
  display: flex;
  flex-direction: column;
  font: 400 clamp(1rem, 2.5vw, 2rem) "Customfont";
  gap: 0.5rem;
  justify-content: center;
  max-height: 15rem;
  max-width: 15rem;
  min-height: 8.125rem;
  min-width: 8.125rem;
  padding: 1rem;
  position: absolute;
  right: min(2rem, 2vw);
  transition: filter 0.5s ease, box-shadow 0.5s ease;
  width: 30vw;
  z-index: 2;
}
.panel-capture-button:hover,
.panel-capture-accept-picture-button:hover,
.panel-capture-refuse-picture-button:hover {
  filter: drop-shadow(0 1px 12px rgba(204, 204, 204, 0.25));
  box-shadow: 0 1px 12px rgba(204, 204, 204, 0.25);
}
.panel-capture-button.active,
.panel-capture-accept-picture-button.active,
.panel-capture-refuse-picture-button.active {
  background-color: var(--blue, #3b82f6);
}

.button-primary.button--blue {
  background-color: var(--blue, #3b82f6);
}

.panel-capture-accept-picture-button,
.panel-capture-refuse-picture-button {
  bottom: unset;
  position: relative;
}
.panel-capture-accept-picture-button img,
.panel-capture-refuse-picture-button img {
  height: 10vw;
  max-width: 80px;
  max-height: 80px;
  min-width: 24px;
  min-height: 24px;
  width: 10vw;
}

.panel-capture-main-icon {
  height: auto;
  max-width: 67px;
  max-height: 67px;
  min-width: 40px;
  width: 5vw;
}

.panel-capture-button-icon {
  height: auto;
  max-width: 40px;
  max-height: 40px;
  min-width: 24px;
  width: 5vw;
}

.panel-capture-main__article {
  display: flex;
  flex-direction: column;
  gap: 12rem;
  max-width: 816px;
  margin: 0 auto;
  padding: 0 1rem;
}

@media only screen and (max-width: 950px) {
  .panel-capture-main__icon-message ul {
    flex-direction: column;
  }
  .panel-capture-main__icon-message ul a {
    justify-content: center;
    padding: 1rem;
    text-align: center;
  }
  .panel-capture-main__main-list-item.desktop-only {
    display: none;
  }
}
#captured_image_img {
  height: 100vh;
  object-fit: cover;
  width: 100%;
}

#countdown,
#qrcode_div,
#last_qrcode_div,
#takePictureButtonContainer {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  font-size: 48px;
  font-weight: bold;
  color: white;
}

#countdown {
  display: inline-block;
  top: 50%;
  font-size: clamp(5rem, 10ch, 20rem);
  text-align: center;
  text-shadow: 0px 0px 10px var(--gray-dark, #434343);
  transform: translate(-50%, -50%);
  z-index: 1;
}
#countdown.big-number {
  font-size: 20rem !important;
}

#qrcode_div h1 {
  margin-bottom: 1rem;
}

#confirm_photo_div {
  align-items: center;
  background-color: rgba(0, 0, 0, 0.75);
  bottom: min(2rem, 2vh);
  display: flex;
  justify-content: space-between;
  left: 0;
  padding: min(2rem, 2vh) 0;
  position: absolute;
  right: 0;
  width: 100%;
  z-index: 2;
}

.panel-capture-settings-error {
  color: var(--red, #fd5249);
  font: 700 1rem "Customfont";
}

@supports (bottom: 0dvh) {
  #confirm_photo_div {
    bottom: 0dvh;
  }
}
.totem-button {
  font-size: 16px;
  padding: 10px 20px;
  cursor: pointer;
  background-color: rgba(0, 0, 0, 0.5);
  color: white;
  border: none;
  z-index: 10;
  margin-bottom: 1rem;
  border-radius: 10px;
  transition: 0.5s background-color ease, opacity 0.5s ease;
}
.totem-button:hover {
  background-color: rgba(0, 0, 0, 0.7);
  opacity: 0.8;
}

.panel-capture-accept-picture-button {
  background-color: var(--green, #008000);
}

.panel-capture-refuse-picture-button {
  background-color: var(--red, #fd5249);
  color: var(--white, #ffffff);
  left: min(2rem, 2vw);
  right: unset;
}
.panel-capture-refuse-picture-button img {
  filter: contrast(0) brightness(100);
}

#camera_config_buttons_div {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 1rem;
}

#camera_config_buttons_div button,
#camera_config_buttons_div select {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0.5rem;
  color: #fff;
  background-color: #000;
  padding: 0.5rem 2rem;
  border-radius: 10px;
  box-shadow: 1px 7px 11px #a6a6a6;
  border: 0;
  font-size: 1.2rem;
  cursor: pointer;
}

.modal-config-camera .box-button-close,
.modal-example-picture {
  text-align: center;
  margin-top: 2rem;
}

.modal-config-camera .box-button-close button,
.modal-example-picture .box-button-close button {
  padding: 0.7rem 2rem 0.5rem 2rem;
  background: #112562;
  color: #fff;
  border-radius: 10px;
  font-weight: bold;
}

.modal-config-camera h2 {
  margin-bottom: 2rem;
  text-align: center;
}

.config-camera-menu .button-primary,
.last-image-menu .button-primary {
  padding: 1.5rem 1rem;
  width: 100%;
}

.confirm-photo-text {
  bottom: 9vh;
  color: var(--white, #ffffff);
  display: inline-block;
  font-size: 3rem;
  text-align: center;
  text-shadow: 0px 0px 10px rgba(204, 204, 204, 0.251);
}
@media only screen and (max-width: 950px) {
  .confirm-photo-text {
    display: none;
  }
}

.overlay {
  background-color: rgba(0, 0, 0, 0.1);
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  opacity: 0;
  transform: translateX(-100%);
  transition: opacity 0.1s linear;
  z-index: 9998;
}

.config-camera-menu,
.last-image-menu {
  background-color: var(--white, #ffffff);
  display: inline-block;
  left: 0;
  height: 100%;
  max-width: 600px;
  max-height: 100%;
  padding: 1rem;
  position: absolute;
  overflow-y: auto;
  top: 0;
  transform: translateX(-100%);
  transition: transform 0.5s ease-in-out;
  width: 100%;
  z-index: 9999;
}
.config-camera-menu h2,
.last-image-menu h2 {
  font: 500 2rem "Customfont";
}
.config-camera-menu .content-close,
.last-image-menu .content-close {
  align-items: center;
  display: flex;
  flex-direction: row;
  gap: 1rem;
  justify-content: space-between;
  padding-bottom: 0.25rem;
}
.config-camera-menu .close,
.last-image-menu .close {
  background: none;
  padding: 10px;
}
.config-camera-menu.open,
.last-image-menu.open {
  transform: translateX(0);
}

.config-camera-menu.open + .overlay,
.last-image-menu.open + .overlay {
  opacity: 1;
  transform: translateX(0);
}

.last-image-menu-image-container {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-top: 1rem;
}

.countdown-controls {
  align-items: center;
  display: flex;
  font: 400 1.5rem "Customfont";
  gap: 1rem;
  justify-content: space-between;
  margin-top: 1rem;
}

.countdown-controls section {
  align-items: center;
  display: flex;
  flex-direction: row;
}

.countdown-controls button {
  background-color: var(--white, #ffffff);
  border-radius: 4px;
  box-shadow: 0px 0px 5px 2px rgba(18, 18, 18, 0.08);
  color: var(--black, #121212);
  cursor: pointer;
  font-size: 18px;
  padding: 1rem;
  transition: background-color 0.25s ease-in-out;
}
.countdown-controls button:disabled {
  background-color: var(--gray-medium, #dee2e6);
}

.countdown-controls input {
  background: none;
  border: none;
  border-bottom: 2px solid var(--black, #121212);
  font: 400 1.5rem "Customfont";
  margin: 0 5px;
  max-width: 6ch;
  text-align: center;
  width: fit-content;
}

.mirror-image-checkbox-list {
  display: grid;
  gap: 1rem;
  grid-template-columns: 1fr 1fr;
  list-style: none;
  margin-top: 1rem;
}
.mirror-image-checkbox-list label {
  align-items: center;
  border-radius: 0.5rem;
  box-shadow: 0px 0px 5px 2px rgba(18, 18, 18, 0.08);
  display: flex;
  flex-direction: row;
  gap: 1rem;
  padding: 1rem;
  width: 100%;
}
@media only screen and (max-width: 399px) {
  .mirror-image-checkbox-list {
    grid-template-columns: 1fr;
  }
}

.mirror-image-checkbox-list--triple-columns {
  grid-template-columns: 1fr 1fr 1fr;
}
@media only screen and (max-width: 500px) {
  .mirror-image-checkbox-list--triple-columns {
    grid-template-columns: 1fr;
  }
}

.panel-capture-settings-camera-section,
.panel-capture-settings-message-section,
.panel-capture-settings-shortcut-section {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.mirror-image-custom-checkbox-container label,
.mirror-image-custom-radio-container label {
  align-items: center;
}
.mirror-image-custom-checkbox-container input,
.mirror-image-custom-radio-container input {
  display: none;
}

.capture-session-photos-aside {
  align-items: start;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  transform: translate(1rem, 1rem);
  position: relative;
  width: fit-content;
  z-index: 1;
}
.capture-session-photos-aside img {
  border-radius: 0.5rem;
  object-fit: cover;
}

.modal-session-qrcode {
  text-align: center;
}

/* use this in modal-photos in case everything goes wrong */
.modal-session-qrcode img {
  aspect-ratio: 1/1;
  height: auto;
  max-height: min(50vw, 50vh);
  max-width: min(50vw, 50vh);
  min-height: 100px;
  min-width: 100px;
}
@supports (height: 100dvh) {
  .modal-session-qrcode img {
    max-height: min(50vw, 50dvh);
    max-width: min(50vw, 50dvh);
  }
}

.modal-session-qrcode-image-container {
  align-items: center;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: center;
  flex: 1 1 auto;
  min-height: 0;
  min-width: 0;
  height: 100%;
  width: 100%;
  max-height: 100%;
}
.modal-session-qrcode-image-container #capture_session_img_still_loading_div,
.modal-session-qrcode-image-container #capture_session_completed_div {
  position: relative;
}
.modal-session-qrcode-image-container #capture_session_img_still_loading_div #loading_div_capture_session_qrcode_img,
.modal-session-qrcode-image-container #capture_session_img_still_loading_div #completed_div_capture_session_qrcode_img,
.modal-session-qrcode-image-container #capture_session_completed_div #loading_div_capture_session_qrcode_img,
.modal-session-qrcode-image-container #capture_session_completed_div #completed_div_capture_session_qrcode_img {
  position: absolute;
  bottom: 1rem;
  right: 1rem;
  z-index: 1;
}
@media only screen and (max-width: 950px) {
  .modal-session-qrcode-image-container #capture_session_img_still_loading_div #loading_div_capture_session_qrcode_img,
  .modal-session-qrcode-image-container #capture_session_img_still_loading_div #completed_div_capture_session_qrcode_img,
  .modal-session-qrcode-image-container #capture_session_completed_div #loading_div_capture_session_qrcode_img,
  .modal-session-qrcode-image-container #capture_session_completed_div #completed_div_capture_session_qrcode_img {
    position: unset;
  }
}

.modal-session-qrcode-button-container {
  align-items: center;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: center;
  margin-top: 1rem;
}
.modal-session-qrcode-button-container .button-primary {
  padding: 1.5rem 1rem;
  width: min(100%, 400px);
}

.modal-instructions {
  z-index: 10000;
}

.modal-instructions .modal-content {
  gap: 1rem;
  text-align: center;
}

.modal-instructions-main {
  align-items: center;
  display: flex;
  flex-direction: column;
  font: 500 1.1rem "Customfont";
  gap: 1rem;
  justify-content: center;
  position: relative;
}
.modal-instructions-main img {
  aspect-ratio: 290/434;
  height: auto;
  max-width: 50vw;
  max-height: 50vh;
  object-fit: contain;
  width: 100%;
}
.modal-instructions-main .button-primary {
  padding: 1.5rem 1rem;
  width: min(100%, 400px);
}

.modal-instructions-main-text {
  font: 500 1rem "Customfont";
}

.modal-wait-calibrating-camera h2 {
  text-align: center;
}

.capture-session-placeholder-container {
  align-items: center;
  aspect-ratio: 1/1;
  background-color: var(--white, #ffffff);
  border-radius: 0.5rem;
  display: flex;
  flex-direction: column;
  height: auto;
  justify-content: center;
  min-width: 145px;
  box-shadow: 8px 12px 24px 0px rgba(18, 18, 18, 0.0784313725);
}
.capture-session-placeholder-container span {
  color: var(--black, #121212);
  display: inline-block;
}

.reset-panel-capture-message-button {
  background: none;
  color: var(--blue, #3b82f6);
  font: 700 1rem "Customfont";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  transition: color 0.5s ease;
}
.reset-panel-capture-message-button:hover, .reset-panel-capture-message-button:active {
  color: var(--blue-strong, #112562);
}

@media only screen and (max-width: 950px) {
  .panel-capture-main {
    padding-top: 0;
  }
  .capture-session-photos-aside {
    flex-direction: row;
    justify-content: space-between;
    padding: 0 1rem;
    width: 100%;
    transform: unset;
  }
  .capture-session-photos-aside img,
  .capture-session-photos-aside .capture-session-placeholder-container {
    height: min(145px, 20vw, 20vh);
    min-width: unset;
    width: min(145px, 20vw, 20vh);
  }
}
.panel-capture-header__logo {
  align-items: center;
  display: flex;
  filter: drop-shadow(0 1px 12px rgba(204, 204, 204, 0.25));
  justify-content: center;
  height: auto;
  margin: 0 auto;
  max-height: 150px;
  max-width: 150px;
  object-fit: contain;
  width: 100%;
}

.panel-capture-settings-message-section .input-floating-container input {
  transition: background-color 0.5s ease;
}
.panel-capture-settings-message-section .input-floating-container input.active {
  background-color: #9ae4bf;
}

.print-modal-multiple-images-container {
  align-items: stretch;
  display: grid;
  gap: 1rem;
  grid-template-columns: 1fr 1fr 1fr;
  justify-content: center;
  width: 100%;
}
.print-modal-multiple-images-container .print-modal-multiple-images-container-section {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.print-modal-multiple-images-container .print-modal-multiple-images-container-section .image-is-loading img {
  aspect-ratio: unset;
}
.print-modal-multiple-images-container div {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.print-modal-multiple-images-container div > img {
  height: 100%;
  object-fit: contain;
  width: 100%;
}

.print-modal-multiple-images-container.two-columns {
  display: grid;
  grid-template-columns: 1fr 1fr;
}

.modal-print-selection-button-container {
  display: flex;
  flex-direction: row;
  justify-content: center;
  margin-top: 1rem;
}

.modal-upload-progress .button-primary {
  margin-top: 1rem;
  padding: 1.5rem 1rem;
  width: 100%;
}

@media only screen and (max-width: 950px) {
  .print-modal-multiple-images-container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
  }
  .print-modal-multiple-images-container div > img {
    width: 100%;
  }
  .print-modal-multiple-images-container .button-primary p, .print-modal-multiple-images-container .button-primary .number-of-devices-label {
    display: none;
  }
  .print-modal-multiple-images-container.three-columns {
    grid-template-columns: 1fr 1fr 1fr;
  }
  .print-modal-multiple-images-container.two-columns {
    grid-template-columns: 1fr 1fr;
  }
  .modal-print-selection .modal-content {
    height: 100%;
    padding: 2rem 0.5rem;
  }
  .modal-print-selection-button-container {
    margin-top: auto;
  }
}
.modal-print-selection h2 {
  text-align: center;
  margin-bottom: 0.5rem;
}
.modal-print-selection .modal-content {
  height: 100%;
}
@media only screen and (max-width: 950px), only screen and (max-height: 800px) {
  .modal-print-selection .content-modal {
    margin: 0 auto;
    padding: 1rem 2rem;
    top: 0;
    transform: unset;
  }
  .modal-print-selection .content-modal {
    height: 100%;
  }
}

.modal-print-main {
  align-items: center;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  justify-content: center;
}

.modal-print-main,
.print-modal-multiple-images-container div {
  height: min(100%, 50dvh);
}

.modal-slideshow-main {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 2rem;
  justify-content: center;
}

.modal-slideshow img {
  background-color: var(--gray-medium, #dee2e6);
  border-radius: 5px;
  object-fit: cover;
  overflow: hidden;
}

.modal-slideshow-list {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  justify-content: center;
  list-style: none;
}

.modal-slideshow .content-modal {
  background: unset;
  box-shadow: unset;
  top: unset;
  transform: unset;
}

.modal-slideshow-list-current-image {
  outline: 4px solid var(--blue, #3b82f6);
}

.modal-slideshow-current-image {
  object-fit: contain !important;
}

.panel-capture-offline-printer-container {
  align-items: center;
  background: transparent;
  bottom: min(2rem, 2vh);
  color: var(--white, #ffffff);
  display: flex;
  flex-direction: row;
  gap: 0.5rem;
  left: min(2rem, 2vw);
  position: absolute;
  transition: filter 0.5s ease;
}
.panel-capture-offline-printer-container img {
  background-color: var(--white, #ffffff);
  border-radius: 100%;
  box-sizing: content-box;
  padding: 0.25rem;
}
.panel-capture-offline-printer-container h2 {
  font: 400 1.5rem "Customfont";
  text-shadow: 0 0 1px var(--black, #121212);
}
.panel-capture-offline-printer-container:hover {
  filter: brightness(90%);
}

.modal-print-offline-info .modal-content {
  gap: 1rem;
}

.modal-print-offline-info-button-container {
  align-items: center;
  display: flex;
  flex-direction: row;
  justify-content: center;
}

.video-container,
#webcam,
#captured_image_img,
.overlay,
.last-image-menu {
  height: 100vh;
}
.video-container .max-width,
.video-container .modal-content,
.video-container .last-image-menu-image-container,
#webcam .max-width,
#webcam .modal-content,
#webcam .last-image-menu-image-container,
#captured_image_img .max-width,
#captured_image_img .modal-content,
#captured_image_img .last-image-menu-image-container,
.overlay .max-width,
.overlay .modal-content,
.overlay .last-image-menu-image-container,
.last-image-menu .max-width,
.last-image-menu .modal-content,
.last-image-menu .last-image-menu-image-container {
  height: 100%;
}
.video-container .content-modal,
#webcam .content-modal,
#captured_image_img .content-modal,
.overlay .content-modal,
.last-image-menu .content-modal {
  height: calc(100% - (3rem + 32px));
}

.last-image-menu-image-container img {
  display: block;
  height: 50%;
  width: 100%;
  max-height: unset;
  max-width: unset;
  object-fit: contain;
}

@supports (height: 100dvh) {
  .video-container,
  #webcam,
  #captured_image_img,
  .overlay,
  .last-image-menu {
    height: 100dvh;
  }
}
@media only screen and (min-width: 950px) {
  .modal-slideshow-main {
    display: grid;
    grid-template-columns: auto 1fr;
  }
  .modal-slideshow .content-modal {
    padding: 0 2rem;
  }
  .modal-slideshow-current-image {
    aspect-ratio: 1/1;
    height: 100%;
    width: 100%;
  }
}
@media only screen and (max-width: 850px) {
  .modal-slideshow .content-modal {
    box-shadow: unset;
    margin: 0 auto;
    padding: 1rem;
  }
  .modal-slideshow-list {
    flex-direction: row;
    width: 100%;
  }
  .modal-slideshow-list img {
    height: min(145px, 20vw);
    min-width: unset;
    width: min(145px, 20vw);
  }
  .modal-slideshow-current-image {
    width: 100%;
  }
}
.modal-slideshow-list,
.modal-slideshow-current-image {
  max-height: calc(100vh - 4rem);
}

/**/
.image-is-loading {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  height: 100%;
  list-style: none;
}
.image-is-loading img {
  aspect-ratio: 1/1;
  height: 100%;
  object-fit: cover;
  width: 100%;
}
.image-is-loading .loader {
  align-items: center;
  animation: unset;
  display: flex;
  height: 100%;
  flex-direction: column;
  justify-content: center;
  left: 50%;
  margin: 0 auto;
  position: absolute;
  transform: translateY(-50%) translateX(-50%);
  top: 50%;
  width: 100%;
}
.image-is-loading .loader img {
  animation: rotating 1.5s infinite linear;
  height: auto;
  max-width: 120px;
  position: absolute;
  width: 100%;
}
.image-is-loading .loader::before {
  content: "";
  background: linear-gradient(90deg, var(--blue, #3b82f6) 50.54%, var(--gradient2, #60c7ba) 81.76%);
  height: 100%;
  left: 0;
  opacity: 0.75;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: -1;
}

/**/
.modal-session-qrcode h2,
.modal-photos h2 {
  margin: 2rem;
}
.modal-session-qrcode img,
.modal-photos img {
  object-fit: contain;
}
.modal-session-qrcode .image-is-loading,
.modal-photos .image-is-loading {
  grid-template-columns: unset;
  height: unset;
  place-items: center;
}
.modal-session-qrcode .image-is-loading img,
.modal-photos .image-is-loading img {
  aspect-ratio: unset;
  height: auto;
  width: auto;
  max-width: 100vw;
  max-height: 100vh;
}
.modal-session-qrcode .image-is-loading .loader::before,
.modal-photos .image-is-loading .loader::before {
  height: 100%;
  width: 100%;
  left: 50%;
  transform: translateX(-50%);
  z-index: 0;
}
.modal-session-qrcode .content-modal,
.modal-photos .content-modal {
  padding: 1rem 2rem;
}
@supports (height: 100dvh) {
  .modal-session-qrcode .content-modal,
  .modal-photos .content-modal {
    max-height: 100dvh;
  }
  .modal-session-qrcode .image-is-loading img,
  .modal-photos .image-is-loading img {
    max-width: 100dvw;
    max-height: 100dvh;
  }
}

.modal-photos .image-is-loading {
  grid-template-columns: unset;
  height: 100%;
  width: 100%;
  place-items: center;
}
.modal-photos .image-is-loading .modal-photos-capture-session-completed-container {
  height: 100%;
  width: 100%;
  min-height: 0;
  min-width: 0;
}
.modal-photos .image-is-loading .modal-photos-main-img {
  aspect-ratio: unset;
  object-fit: contain;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
}

.modal-photos-main-img {
  max-width: 100dvw;
  max-height: 100dvh;
  width: 100%;
  height: 100%;
}

.modal-waiting-for-ai-photos h2 {
  text-align: center;
}

.modal-waiting-for-ai-photos button {
  padding: 1.5rem 1rem;
  width: 100%;
}

.modal-waiting-for-ai-photos .content-modal.max-width {
  max-width: min(600px, 100vw - 2rem);
}

kbd {
  aspect-ratio: 1/1;
  border: 2px solid;
  border-radius: 6px;
  display: flex;
  flex-direction: column;
  font: 700 2rem Arial;
  justify-content: center;
  line-height: 1;
  text-align: center;
  height: 3rem;
  width: 3rem;
}
kbd p, kbd .number-of-devices-label {
  font: 500 1.1rem "Customfont";
}

kbd.esc {
  font: 700 1.1rem Arial;
}

kbd.space {
  font: 700 1.1rem Arial;
  width: 9rem;
}

.panel-capture-shortcut-list,
.panel-capture-shortcut-list ul {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  list-style: none;
}
.panel-capture-shortcut-list li,
.panel-capture-shortcut-list ul li {
  align-items: center;
  display: flex;
  flex-direction: row;
  gap: 1ch;
}
.panel-capture-shortcut-list .li-with-menu,
.panel-capture-shortcut-list ul .li-with-menu {
  align-items: start;
  display: flex;
  flex-direction: column;
  margin-top: 1rem;
}
.panel-capture-shortcut-list p, .panel-capture-shortcut-list .number-of-devices-label,
.panel-capture-shortcut-list ul p {
  font: 500 1.1rem "Customfont";
}

.panel-capture-shortcut-list ul {
  flex-direction: row;
  flex-wrap: wrap;
}

.modal-print-copies .countdown-controls {
  width: 100%;
}

.modal-print-copies-button-container button {
  padding: 1.5rem 1rem;
  width: 100%;
}

@supports (max-height: 100dvh) {
  .modal-slideshow-list,
  .modal-slideshow-current-image {
    max-height: calc(100dvh - 4rem);
  }
  .config-camera-menu,
  .last-image-menu {
    height: 100dvh;
  }
}
@media (pointer: none), (pointer: coarse) {
  .panel-capture-main-icon {
    transform: rotate(-135deg);
  }
}
@media only screen and (max-width: 501px) {
  .print-modal-multiple-images-container {
    grid-template-columns: 1fr;
  }
}
@media only screen and (max-width: 401px) {
  .panel-capture-offline-printer-container h2 {
    display: none;
  }
}
@media only screen and (max-width: 850px), (pointer: none), (pointer: coarse), (orientation: landscape) {
  .panel-capture-button,
  .panel-capture-accept-picture-button,
  .panel-capture-refuse-picture-button {
    width: min(30vw, 30vh);
    font: 400 clamp(1rem, 2.5vh, 2rem) "Customfont";
  }
  .panel-capture-button-icon {
    width: min(5vw, 5vh);
  }
}
@media only screen and (max-height: 767px) {
  .modal-session-qrcode-image-container {
    flex-direction: row;
  }
}
.flash-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #ffffff !important; /* Force white background */
  opacity: 1;
  z-index: 9999;
  display: none;
  /* forced-color-adjust: none;  Prevent color adjustments */
  color-scheme: light; /* Indicate light color scheme */
  mix-blend-mode: normal; /* Ensure normal blending */
}

.modal-select-your-style-effect h2,
.modal-select-your-ambiance-effect h2,
.modal-select-your-face-swap-effect h2,
.modal-select-your-profession-dolls-effect h2 {
  text-align: center;
}

.modal-select-your-style-effect-main,
.modal-select-your-ambiance-effect-main,
.modal-select-your-face-swap-effect-main,
.modal-select-your-profession-dolls-effect-main {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: center;
  margin-top: 1rem;
}
.modal-select-your-style-effect-main > button,
.modal-select-your-ambiance-effect-main > button,
.modal-select-your-face-swap-effect-main > button,
.modal-select-your-profession-dolls-effect-main > button {
  flex: 0 1 11rem;
  min-width: 0;
}
@media only screen and (min-width: 1200px) {
  .modal-select-your-style-effect-main > button,
  .modal-select-your-ambiance-effect-main > button,
  .modal-select-your-face-swap-effect-main > button,
  .modal-select-your-profession-dolls-effect-main > button {
    flex-basis: 8.5rem;
  }
}
@media only screen and (max-width: 600px) {
  .modal-select-your-style-effect-main,
  .modal-select-your-ambiance-effect-main,
  .modal-select-your-face-swap-effect-main,
  .modal-select-your-profession-dolls-effect-main {
    gap: 0.75rem;
  }
  .modal-select-your-style-effect-main > button,
  .modal-select-your-ambiance-effect-main > button,
  .modal-select-your-face-swap-effect-main > button,
  .modal-select-your-profession-dolls-effect-main > button {
    flex-basis: 7rem;
  }
}

.modal-select-your-face-swap-effect img,
#face_swap_options_div img,
.panel-my-face-swaps-list img {
  object-position: top;
}

.no-effect-thumb {
  object-position: center !important;
}

.modal-ambiance-effect-button,
.modal-face-swap-effect-button {
  background: none;
  cursor: pointer;
}

.modal-select-your-style-effect .ai-event-effect-custom-radio img,
.modal-select-your-ambiance-effect .ai-event-effect-custom-radio img,
.modal-select-your-face-swap-effect .ai-event-effect-custom-radio img,
.modal-select-your-profession-dolls-effect .ai-event-effect-custom-radio img {
  max-width: 100% !important;
}

.panel-capture-body .modal-content h2 {
  text-align: center;
}

.modal-select-your-frame-main {
  align-items: center;
  column-gap: min(3rem, 2vw);
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 1rem;
  row-gap: 1rem;
}
.modal-select-your-frame-main > button {
  background-color: var(--white, #ffffff);
  background-image: url("data:image/svg+xml,%3Csvg width=%2710%27 height=%2710%27 viewBox=%270 0 20 20%27 xmlns=%27http://www.w3.org/2000/svg%27%3E%3Cg fill=%27%23e5e5e5%27 fill-opacity=%271%27 fill-rule=%27evenodd%27%3E%3Crect x=%270%27 y=%270%27 width=%2710%27 height=%2710%27/%3E%3Crect x=%2710%27 y=%2710%27 width=%2710%27 height=%2710%27/%3E%3C/g%3E%3C/svg%3E");
  background-size: 4px 4px;
}
.modal-select-your-frame-main > button img {
  height: auto;
  max-width: 100%;
}

.modal-vertical-center.open {
  align-items: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.modal-vertical-center.open .content-modal {
  /* 2rem relative to margin*/
  overflow: auto;
  top: unset;
  transform: unset;
  max-height: 100dvh;
  width: 100%;
}

.screensaver-container {
  background-color: var(--black, #121212);
  border: none;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 20000;
}
.screensaver-container video {
  height: 100%;
  left: 0;
  object-fit: contain;
  position: absolute;
  top: 0;
  width: 100%;
}

.screensaver-video-container {
  height: 100%;
  position: relative;
  width: 100%;
}

@media only screen and (max-width: 850px) {
  .modal-select-your-frame-main {
    flex-wrap: nowrap;
  }
}
.modal-dell-badges-form form {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.modal-dell-badges-form .checkbox-container,
.modal-dell-badges-form .radio-container {
  align-items: start;
  display: flex;
  flex-direction: row;
  gap: 0.5rem;
}
.modal-dell-badges-form .checkbox-container label,
.modal-dell-badges-form .checkbox-container p,
.modal-dell-badges-form .checkbox-container .number-of-devices-label,
.modal-dell-badges-form .radio-container label,
.modal-dell-badges-form .radio-container p,
.modal-dell-badges-form .radio-container .number-of-devices-label {
  font-size: 0.85rem;
  font-weight: 500;
  line-height: 1.2rem;
}
.modal-dell-badges-form .checkbox-container p, .modal-dell-badges-form .checkbox-container .number-of-devices-label,
.modal-dell-badges-form .radio-container p,
.modal-dell-badges-form .radio-container .number-of-devices-label {
  color: var(--black, #121212);
}

.modal-dell-badges-form .radio-container {
  flex-direction: column;
}
.modal-dell-badges-form .radio-container input {
  display: inline-block;
}
.modal-dell-badges-form .radio-container div {
  align-items: start;
  display: flex;
  flex-direction: row;
  gap: 0.5rem;
}
.modal-dell-badges-form .radio-container section {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.form-button-container {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  justify-content: center;
  margin-top: 2rem;
  width: 100%;
}
.form-button-container button {
  padding: 1.5rem 1rem;
  width: min(100%, 400px);
}

.modal-sicoob-name-form .form-button-container {
  margin-top: 3rem;
}

.modal-sticker-name-form .content-modal {
  padding: 0;
}

.modal-sticker-name-form .content-modal.max-width {
  max-width: min(96vw, 1100px);
  width: 100%;
}

.modal-sticker-name-form .content-modal .modal-content.sticker-form-stage {
  display: flex;
  flex-direction: column;
  padding: clamp(20px, 4vh, 64px) clamp(16px, 4vw, 56px);
}

.modal-sticker-name-form .sticker-form-step {
  display: none;
  flex-direction: column;
  gap: clamp(20px, 3vh, 36px);
  flex: 1;
}
.modal-sticker-name-form .sticker-form-step.is-active {
  display: flex;
}

.modal-sticker-name-form .sticker-form-header {
  text-align: center;
}

.modal-sticker-name-form .sticker-form-headline {
  font: 700 clamp(26px, 4.5vw, 52px) "Customfont";
  line-height: 1.15;
  margin: 0 0 12px;
}

.modal-sticker-name-form .sticker-form-subheadline {
  font: 500 clamp(15px, 1.6vw, 22px) "Customfont";
  opacity: 0.85;
  margin: 0;
}

.modal-sticker-name-form .sticker-form-field {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.modal-sticker-name-form .sticker-form-fields-group {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
  margin-top: auto;
}

@media (min-width: 700px) {
  .modal-sticker-name-form .sticker-form-fields-group--two {
    grid-template-columns: 1fr 1fr;
  }
  .modal-sticker-name-form .sticker-form-fields-group--three {
    grid-template-columns: 1fr 1fr 1fr;
  }
}
.modal-sticker-name-form .sticker-stats-physical,
.modal-sticker-name-form .sticker-stats-position,
.modal-sticker-name-form .sticker-stats-club {
  margin-top: auto;
}

.modal-sticker-name-form .sticker-position-options {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.modal-sticker-name-form .sticker-position-option {
  width: 100%;
  box-sizing: border-box;
  padding: clamp(14px, 1.8vh, 22px) clamp(16px, 2vw, 26px);
  font: 600 clamp(16px, 1.6vw, 22px) "Customfont";
  color: var(--black, #121212);
  background: var(--white, #ffffff);
  border: 2px solid var(--gray-medium, #dee2e6);
  border-radius: 14px;
  cursor: pointer;
  text-align: center;
  transition: border-color 0.2s ease, background 0.2s ease, color 0.2s ease;
}
.modal-sticker-name-form .sticker-position-option.is-active {
  color: var(--white, #ffffff);
  background: var(--black, #121212);
  border-color: var(--black, #121212);
}

.modal-sticker-name-form .sticker-form-label {
  font: 700 0.875rem "Customfont";
  color: #555;
}

.modal-sticker-name-form .sticker-form-input {
  width: 100%;
  box-sizing: border-box;
  padding: clamp(14px, 1.8vh, 22px) clamp(16px, 2vw, 26px);
  font: 500 clamp(16px, 1.6vw, 22px) "Customfont";
  min-height: 48px;
  color: var(--black, #121212);
  background: var(--white, #ffffff);
  border: 2px solid var(--gray-medium, #dee2e6);
  border-radius: 14px;
  outline: none;
  transition: border-color 0.2s ease;
}
.modal-sticker-name-form .sticker-form-input:focus {
  border-color: var(--blue, #3b82f6);
}

.modal-sticker-name-form select.sticker-form-input {
  appearance: auto;
}

.modal-sticker-name-form .sticker-form-toggle {
  align-items: center;
  display: flex;
  flex-direction: row;
  gap: 0.75rem;
  justify-content: center;
}

.modal-sticker-name-form .sticker-form-toggle-label {
  font: 500 1rem "Customfont";
}

.modal-sticker-name-form .sticker-form-actions {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: auto;
}

.modal-sticker-name-form .sticker-form-cta {
  align-self: stretch;
  padding: clamp(16px, 1.8vh, 24px) clamp(24px, 3vw, 48px);
  font: 700 clamp(16px, 1.6vw, 22px) "Customfont";
  min-height: 52px;
  color: var(--white, #ffffff);
  background: var(--black, #121212);
  border: none;
  border-radius: 14px;
  cursor: pointer;
  transition: opacity 0.2s ease, transform 0.15s ease;
}
.modal-sticker-name-form .sticker-form-cta:not(:disabled):hover {
  transform: translateY(-1px);
  opacity: 0.92;
}
.modal-sticker-name-form .sticker-form-cta:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

@media (min-width: 1600px) {
  .modal-sticker-name-form .content-modal .modal-content.sticker-form-stage {
    padding: 72px 64px;
  }
  .modal-sticker-name-form .sticker-form-step {
    gap: 40px;
  }
  .modal-sticker-name-form .sticker-form-fields-group {
    gap: 24px;
  }
}
.modal-sticker-name-form .sticker-form-back-link {
  align-self: center;
  padding: 8px 12px;
  font: 500 0.95rem "Customfont";
  color: var(--black, #121212);
  background: transparent;
  border: none;
  cursor: pointer;
  opacity: 0.7;
  transition: opacity 0.2s ease;
}
.modal-sticker-name-form .sticker-form-back-link:hover {
  opacity: 1;
}

.modal-sticker-name-form .sticker-form-keyboard-slot {
  width: 100%;
  margin-top: clamp(16px, 2vh, 24px);
}

.modal-sticker-name-form .sticker-form-keyboard-slot:empty {
  display: none;
  margin-top: 0;
}

/* Lead Collection (generic totem question flow) — mirrors the sticker form polish */
/* TODO (frontend): tirar a margem/espaço inferior do modal das perguntas de coleta de lead.
   Investigar o padding-bottom deste .panel-capture-lead-collection-stage, o wrapper .content-modal
   e o espaço reservado pelo .panel-capture-lead-collection-keyboard-slot (min-height + margin-top). */
/* TODO (frontend): impedir que o modal "troque de lugar" no eixo Y ao avançar entre perguntas de
   tamanhos diferentes (cada .panel-capture-lead-collection-step tem altura própria, então o modal
   recentraliza). O container usa .modal-vertical-center (ver index.html). Sugestão: ancorar
   verticalmente (alinhar ao topo) ou fixar uma altura/min-height estável no stage para a posição
   não variar entre as perguntas. */
/* Fullscreen, opaque lead modal: a brand blue->teal gradient fills the screen (hides the camera) and
   centers a white "card" that holds the question flow. The full-height card also stops the modal from
   "jumping" on the Y axis as each step's height changes. */
.modal-lead-collection .content-modal {
  width: 100vw;
  height: 100vh;
  height: 100dvh;
  max-width: unset;
  margin: 0;
  padding: clamp(1rem, 3vh, 3rem) clamp(1rem, 3vw, 3rem);
  border-radius: 0;
  top: 0;
  transform: none;
  box-sizing: border-box;
  background: linear-gradient(160deg, var(--gradient, #3b82f6), var(--gradient2, #60c7ba));
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

.modal-lead-collection .content-modal .modal-content.panel-capture-lead-collection-stage {
  --lead-card-pad-x: clamp(1rem, 4vw, 3.5rem);
  --lead-card-pad-y: clamp(0.875rem, 2.6vh, 2.5rem);
  --lead-card-radius: clamp(1rem, 2vw, 1.75rem);
  --lead-back-size: clamp(3.75rem, 7vw, 5.5rem);
  display: flex;
  position: relative;
  flex-direction: column;
  width: min(62.5rem, 100%);
  height: 100%;
  box-sizing: border-box;
  background: var(--white, #ffffff);
  border-radius: var(--lead-card-radius);
  box-shadow: 0 1px 12px rgba(204, 204, 204, 0.25);
  padding: var(--lead-card-pad-y) var(--lead-card-pad-x);
  color: var(--black, #121212);
}

/* Soften the light-card primary text a touch (meeting: reduce the dark font in light mode) — sets --black,
   which color("black") reads, so all card text eases off pure near-black. Kept at this low specificity and
   placed BEFORE the --dark remap below so the dark card's --black wins there. The base color rule above
   doesn't set --black, so there's no conflict; borders (--gray-medium) are untouched. */
.panel-capture-lead-collection-stage {
  --black: #3d4147;
}

/* Dark theme for the lead card INTERIOR (Aparência → "Tema escuro"; applied via --dark on the stage by the
   lead controllers). The card's colors are written as color(token) → var(--token), so re-mapping the
   surface/text/gray tokens here flips the whole interior in one place. Brand tokens (blue, gradient) are
   intentionally NOT remapped so the CTA and selection accents keep their identity; the brand-on-light spots
   are fixed up below. This is the card interior only — the backdrop behind the card is a separate layer. */
.panel-capture-lead-collection-stage--dark {
  --white: #1f2226;
  --black: #c8ccd1;
  --gray-light: #2a2e33;
  --gray-medium: #3a4047;
  --gray-dark: #aeb4bb;
}
.panel-capture-lead-collection-stage--dark .panel-capture-lead-collection-keyboard-slot {
  --white: #ffffff;
  --black: #121212;
  --gray-light: #f5f6f7;
  --gray-medium: #dee2e6;
  --gray-dark: #434343;
}
.panel-capture-lead-collection-stage--dark .panel-capture-lead-collection-cta {
  --white: #ffffff;
}
.panel-capture-lead-collection-stage--dark .panel-capture-lead-collection-option-input[type=checkbox]:checked + .panel-capture-lead-collection-option-label .panel-capture-lead-collection-option-control::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2722%27 height=%2722%27 viewBox=%270 0 22 22%27%3E%3Cpath d=%27M4.5 11.5 9 16 17.5 6.5%27 fill=%27none%27 stroke=%27%231f2226%27 stroke-width=%272.6%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27/%3E%3C/svg%3E");
}

/* Brand/client logo at the top of the card (photofun by default, event logo when set — the two imgs
   share the visibility placeholders resolved by handle_ai_event_custom_logo_display, only one shows). */
.modal-lead-collection .panel-capture-lead-collection-logo-container {
  display: flex;
  justify-content: center;
  align-items: center;
  pointer-events: none;
}

.modal-lead-collection .panel-capture-lead-collection-logo {
  width: auto;
  height: clamp(2.5rem, 7vh, 4.5rem);
  max-width: min(60%, 20rem);
  object-fit: contain;
}

/* Form takes the remaining height so the keyboard slot docks at the edge (bottom by default). */
.modal-lead-collection #panel_capture_lead_collection_form {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
}

/* Top position: the keyboard slot (with its toggle handle + docked keyboard) jumps above the form.
   Full-bleed against the card's TOP edge now (negative top margin), with the rounding flipped up.
   The negative side margins are inherited from the base rule. */
.panel-capture-lead-collection-stage--kb-top .panel-capture-lead-collection-keyboard-slot {
  order: -2;
  margin-top: calc(-1 * var(--lead-card-pad-y));
  margin-bottom: clamp(1rem, 2vh, 1.5rem);
  border-radius: var(--lead-card-radius) var(--lead-card-radius) 0 0;
}

/* Toggle handle that flips the keyboard top/bottom (totem only; hidden on mobile via JS).
   Styled as vivi's chevron handle: a dark rounded tab sitting on the keyboard's edge. */
.panel-capture-lead-collection-kb-toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 1;
  /* Negative bottom margin overlaps the keyboard so the tab reads as part of it, not a floating pill. */
  margin: 0 auto -2px;
  width: min(14rem, 65%);
  min-height: clamp(3rem, 5.6vh, 4.5rem);
  padding: 0.25rem 1rem;
  color: var(--gray-light, #f5f6f7);
  background: var(--dark-android-key-secondary, #313C42);
  border: none;
  border-radius: 0.75rem 0.75rem 0 0;
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease;
}
.panel-capture-lead-collection-kb-toggle:active {
  background: var(--dark-android-key-hover, #097CFB);
  color: var(--white, #ffffff);
}
.panel-capture-lead-collection-kb-toggle svg {
  width: clamp(2.5rem, 5vh, 4rem);
  height: clamp(2.5rem, 5vh, 4rem);
  display: block;
  transition: transform 0.2s ease;
}

/* Keyboard at the top: the handle sits below the keyboard (content-facing edge), so flip the
   rounding to the bottom corners, overlap upward into the keyboard, and point the chevron the other way. */
.panel-capture-lead-collection-stage--kb-top .panel-capture-lead-collection-kb-toggle {
  order: 2;
  margin: -2px auto 0;
  border-radius: 0 0 0.75rem 0.75rem;
}

.panel-capture-lead-collection-stage--kb-top .panel-capture-lead-collection-kb-toggle svg {
  transform: rotate(180deg);
}

/* The back button normally floats absolutely at the top-left, which the top-docked keyboard now covers.
   Pull it into the flow just below the keyboard (order -1, above the logo at 0) in both orientations.
   Only when the on-screen keyboard actually renders: on native-keyboard devices (:not(--native-kb)) the
   slot is collapsed, so the button keeps its default floating position. */
.panel-capture-lead-collection-stage--kb-top:not(.panel-capture-lead-collection-stage--native-kb) .panel-capture-lead-collection-topbar {
  position: static;
  order: -1;
  margin: calc(var(--lead-back-size) / 2) 0 0 calc(var(--lead-back-size) / 2);
}

/* No-keyboard active steps (radio / checkbox / LGPD) collapse the keyboard slot, so the kb-top layout has
   nothing to make room for. Keep the back button floating (absolute) regardless of the keyboard position so
   toggling top/bottom doesn't pull the topbar into flow and shove the logo/content down on a step that never
   shows a keyboard ("não deslocar o conteúdo quando não precisa"). JS toggles --active-step-no-kb per step
   in panelCaptureLeadCollectionSyncKeyboard. Specificity (two stage classes) beats the kb-top rule above. */
.panel-capture-lead-collection-stage--active-step-no-kb.panel-capture-lead-collection-stage--kb-top:not(.panel-capture-lead-collection-stage--native-kb) .panel-capture-lead-collection-topbar {
  position: absolute;
  order: 0;
  margin: 0;
}

.panel-capture-lead-collection-progress {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  margin-bottom: clamp(1.25rem, 3vh, 2.25rem);
}

.panel-capture-lead-collection-progress-label {
  font: 700 clamp(1.25rem, 2vw, 1.875rem) "Customfont";
  color: var(--gray-dark, #434343);
  text-align: center;
}

.panel-capture-lead-collection-progress-track {
  width: 100%;
  height: 0.625rem;
  background: var(--gray-medium, #dee2e6);
  border-radius: 999px;
  overflow: hidden;
}

.panel-capture-lead-collection-progress-fill {
  height: 100%;
  width: 0;
  background: var(--black, #121212);
  border-radius: 999px;
  transition: width 0.3s ease;
}

.modal-lead-collection .panel-capture-lead-collection-step {
  display: none;
  flex-direction: column;
  gap: clamp(0.875rem, 2vh, 1.625rem);
  flex: 1;
  min-height: 0;
}
.modal-lead-collection .panel-capture-lead-collection-step.is-active {
  display: flex;
}

.panel-capture-lead-collection-step-header {
  text-align: center;
  margin-top: 0;
}

.panel-capture-lead-collection-step-title {
  font: 700 clamp(1.75rem, 4.5vw, 4rem) "Customfont";
  color: var(--black, #121212);
  line-height: 1.1;
  margin: 0;
}

.panel-capture-lead-collection-required {
  color: var(--red, #fd5249);
}

.panel-capture-lead-collection-choice-hint {
  font: 500 clamp(1.125rem, 1.8vw, 1.5rem) "Customfont";
  color: var(--gray-dark, #434343);
  margin: 0.5rem 0 0;
}

.panel-capture-lead-collection-field {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
}

/* The question step's field fills the leftover height between the header and the bottom-pinned actions, and
   allows shrinking (min-height:0) so the options <ul> inside can become its own scroll region. Scoped to
   exclude the LGPD step: that whole <section> already scrolls as one unit (its field sizes to the consent
   text), and making its field flex:1 would instead compress the long text to the available height. No
   overflow here either way — the scroll lives on the <ul>, so no field ever gets a second scrollbar. */
.panel-capture-lead-collection-step:not(.panel-capture-lead-collection-lgpd-step) .panel-capture-lead-collection-field {
  flex: 1;
  min-height: 0;
}

.modal-lead-collection .panel-capture-lead-collection-input {
  width: 100%;
  box-sizing: border-box;
  appearance: none;
  -webkit-appearance: none;
  padding: 0.6em 0.95em;
  font: 500 clamp(1.125rem, 1.8vw, 1.5rem) "Customfont";
  line-height: 1.2;
  min-height: clamp(3.75rem, 5.5vh, 4.75rem);
  color: var(--black, #121212);
  background: var(--white, #ffffff);
  border: 2px solid var(--gray-medium, #dee2e6);
  border-radius: 0.875rem;
  outline: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.modal-lead-collection .panel-capture-lead-collection-input::placeholder {
  color: var(--gray-dark, #434343);
  opacity: 0.7;
}
.modal-lead-collection .panel-capture-lead-collection-input:hover {
  border-color: var(--gray-dark, #434343);
}
.modal-lead-collection .panel-capture-lead-collection-input:focus {
  border-color: var(--blue, #3b82f6);
  box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.18);
}

.panel-capture-lead-collection-error {
  font: 500 clamp(1.375rem, 2.2vw, 1.875rem) "Customfont";
  color: var(--red, #fd5249);
  margin: 0;
}

/* Lead-form (and other capture) validation errors now show in the shared photofun error modal, whose
   message text is a fixed 1.125rem (style_base) — tiny on a full-screen totem. Scope a responsive size to
   .panel-capture-body so only the capture page's error modal scales up; other pages keep the default. */
.panel-capture-body .modal-error #error_modal_p {
  font-size: clamp(1.375rem, 2.2vw, 1.875rem);
}

.panel-capture-body .modal-error,
.panel-capture-body .modal-success,
.panel-capture-body .modal-loader {
  z-index: 10001;
}

.panel-capture-lead-collection-phone-row {
  display: flex;
  gap: clamp(0.5rem, 1.4vw, 1rem);
  align-items: stretch;
}

.panel-capture-lead-collection-phone-row .panel-capture-lead-collection-phone-country-wrap {
  position: relative;
  flex: 0 0 38%;
  min-width: 0;
  display: flex;
}

.panel-capture-lead-collection-phone-country-wrap .panel-capture-lead-collection-phone-country-display {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  padding-left: 0.6em;
  padding-right: clamp(2rem, 3.5vw, 2.75rem);
  font: 500 clamp(1.125rem, 1.8vw, 1.5rem) "Customfont";
  line-height: 1.2;
  color: var(--black, #121212);
  white-space: nowrap;
  overflow: hidden;
  pointer-events: none;
}

.panel-capture-lead-collection-phone-row .panel-capture-lead-collection-phone-country {
  width: 100%;
  box-sizing: border-box;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  min-height: clamp(3.75rem, 5.5vh, 4.75rem);
  padding: 0.6em 0.6em;
  padding-right: clamp(2rem, 3.5vw, 2.75rem);
  font: 500 clamp(1.125rem, 1.8vw, 1.5rem) "Customfont";
  line-height: 1.2;
  color: transparent;
  background-color: var(--white, #ffffff);
  background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2712%27 height=%278%27 viewBox=%270 0 12 8%27%3E%3Cpath d=%27M1 1.5 6 6.5 11 1.5%27 fill=%27none%27 stroke=%27%23272727%27 stroke-width=%272%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27/%3E%3C/svg%3E");
  background-position: right clamp(0.75rem, 1.4vw, 1.125rem) center;
  background-repeat: no-repeat;
  background-size: clamp(1rem, 1.5vw, 1.25rem);
  color-scheme: light;
  border: 2px solid var(--gray-medium, #dee2e6);
  border-radius: 0.875rem;
  outline: none;
  overflow: hidden;
  white-space: nowrap;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.panel-capture-lead-collection-phone-row .panel-capture-lead-collection-phone-country:focus {
  border-color: var(--blue, #3b82f6);
  box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.18);
}
.panel-capture-lead-collection-phone-row .panel-capture-lead-collection-phone-country option {
  color: var(--black, #121212);
  background: var(--white, #ffffff);
}

.panel-capture-lead-collection-phone-input {
  flex: 1 1 auto;
  min-width: 0;
}

.panel-capture-lead-collection-lgpd-text {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  text-align: left;
  padding: clamp(0.875rem, 1.8vh, 1.375rem) clamp(1rem, 2vw, 1.625rem);
  border: 1px solid color-mix(in srgb, var(--black, #121212) 14%, transparent);
  border-radius: 0.875rem;
  background: var(--white, #ffffff);
  box-shadow: inset 0 2px 6px color-mix(in srgb, var(--black, #121212) 7%, transparent);
  color: var(--black, #121212);
  font: 500 clamp(1.375rem, 2.4vw, 2rem) "Customfont";
  line-height: 1.5;
  white-space: pre-wrap;
}

.panel-capture-lead-collection-lgpd-agree {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  cursor: pointer;
  margin-top: clamp(1rem, 2.5vh, 2rem);
  color: var(--black, #121212);
  font: 500 clamp(1.5rem, 2.6vw, 2.25rem) "Customfont";
  line-height: 1;
}
.panel-capture-lead-collection-lgpd-agree .panel-capture-lead-collection-lgpd-agree-input {
  width: clamp(1.5rem, 2.4vh, 2rem);
  height: clamp(1.5rem, 2.4vh, 2rem);
  flex-shrink: 0;
  margin: 0;
  cursor: pointer;
  accent-color: var(--black, #121212);
  color-scheme: light;
}

/* The accept checkbox is a native control, so drive its unchecked chrome from the CARD theme rather than the
   OS preference: dark card → dark box. (accent-color above already themes the checked fill for both.) */
.panel-capture-lead-collection-stage--dark .panel-capture-lead-collection-lgpd-agree-input {
  color-scheme: dark;
}

/* The LGPD step itself does NOT scroll — the scroll lives on the consent text box inside it (see
   .panel-capture-lead-collection-lgpd-text). The step just lays out header / field / actions as a bounded
   flex column; min-height:0 lets it take its flex height so the field (and the scroll box inside) can be
   bounded instead of overflowing the step. */
.panel-capture-lead-collection-lgpd-step {
  min-height: 0;
}

/* The LGPD field fills the leftover height between the header and the bottom actions (it's excluded from the
   generic field rule above). flex:1 + min-height:0 give the consent-text scroll box a bounded height to
   scroll within; the accept checkbox + error sit below it at their natural height. */
.panel-capture-lead-collection-lgpd-step .panel-capture-lead-collection-field {
  flex: 1;
  min-height: 0;
}

.panel-capture-lead-collection-lgpd-step .panel-capture-lead-collection-actions {
  margin-top: clamp(1rem, 2.5vh, 2rem);
}

/* Options stack in a single column and switch to two columns by COUNT, per orientation: portrait at 11+
   options, landscape at 5+ (the short landscape form overflows a single column with fewer items) — see the
   orientation media queries just below. Centred with a per-orientation max-width (--lead-option-list-min-width:
   46rem by default, wider on portrait so one column fills more of the tall screen); two columns share that
   width. Every option keeps the SAME fixed, responsive height (--lead-option-h); align-content:start packs
   them at the top under the question, and if the list still doesn't fit it scrolls. minmax(0, 1fr) columns
   let a long unbreakable label shrink instead of forcing a sideways scroll. */
.panel-capture-lead-collection-options {
  list-style: none;
  margin: 0 auto;
  padding: 0;
  width: 100%;
  max-width: var(--lead-option-list-min-width, 46rem);
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-auto-rows: var(--lead-option-h, clamp(3.75rem, 6vh, 5rem));
  align-content: start;
  gap: 0.75rem;
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
}

/* Mirror the photofun default scrollbar (style_base.scss: 0.5rem wide, rounded thumb with a track-matching
   1px border), but with light/dark lead-card colors — track color("gray-light") and thumb color("gray-dark"),
   both remapped by the dark stage, so it reads correctly on the light and dark card instead of the fixed
   brand-gradient default. Shared by the lead form's scroll boxes: the consent-text pane and the options list
   (which also carries the image-only tile grid via the same base class). */
.panel-capture-lead-collection-lgpd-text,
.panel-capture-lead-collection-options {
  scrollbar-width: thin;
  scrollbar-color: var(--gray-dark, #434343) var(--gray-light, #f5f6f7);
}
.panel-capture-lead-collection-lgpd-text::-webkit-scrollbar,
.panel-capture-lead-collection-options::-webkit-scrollbar {
  width: 0.5rem;
}
.panel-capture-lead-collection-lgpd-text::-webkit-scrollbar-track,
.panel-capture-lead-collection-options::-webkit-scrollbar-track {
  background: var(--gray-light, #f5f6f7);
}
.panel-capture-lead-collection-lgpd-text::-webkit-scrollbar-thumb,
.panel-capture-lead-collection-options::-webkit-scrollbar-thumb {
  background: var(--gray-dark, #434343);
  border-radius: 5px;
  border: 1px solid var(--gray-light, #f5f6f7);
}

/* Portrait: two columns once there are more than 10 options (the 11th exists). Excludes the image-only tile
   grid, which sets its own column layout. A lone trailing option (odd count) spans the full row. */
@media (orientation: portrait) {
  .panel-capture-lead-collection-options:not(.panel-capture-lead-collection-options--image-only):has(.panel-capture-lead-collection-option:nth-child(11)) {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }
  .panel-capture-lead-collection-options:not(.panel-capture-lead-collection-options--image-only):has(.panel-capture-lead-collection-option:nth-child(11)) .panel-capture-lead-collection-option:last-child:nth-child(odd) {
    grid-column: 1/-1;
  }
}
/* Landscape: two columns sooner (5+ options), since the short landscape form overflows a single column with
   fewer items. A lone trailing option (odd count) spans the full row. */
@media (orientation: landscape) {
  .panel-capture-lead-collection-options:not(.panel-capture-lead-collection-options--image-only):has(.panel-capture-lead-collection-option:nth-child(5)) {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }
  .panel-capture-lead-collection-options:not(.panel-capture-lead-collection-options--image-only):has(.panel-capture-lead-collection-option:nth-child(5)) .panel-capture-lead-collection-option:last-child:nth-child(odd) {
    grid-column: 1/-1;
  }
}
.panel-capture-lead-collection-option {
  position: relative;
}

.panel-capture-lead-collection-option-input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}

.panel-capture-lead-collection-option-label {
  display: flex;
  align-items: center;
  gap: 0.875rem;
  width: 100%;
  box-sizing: border-box;
  padding: clamp(0.875rem, 1.6vh, 1.25rem) clamp(1rem, 2vw, 1.5rem);
  height: 100%;
  min-height: 0;
  overflow: hidden;
  font: 500 clamp(1.25rem, 2.1vw, 1.75rem) "Customfont";
  color: var(--black, #121212);
  background: var(--white, #ffffff);
  border: 2px solid var(--gray-medium, #dee2e6);
  border-radius: 0.875rem;
  cursor: pointer;
  transition: border-color 0.2s ease, background 0.2s ease;
}

.panel-capture-lead-collection-option-input:checked + .panel-capture-lead-collection-option-label {
  border-color: var(--black, #121212);
  background: color-mix(in srgb, var(--black, #121212) 10%, transparent);
}

.panel-capture-lead-collection-option-input:disabled + .panel-capture-lead-collection-option-label {
  opacity: 0.45;
  cursor: not-allowed;
}

.panel-capture-lead-collection-option-image {
  width: clamp(3.5rem, 5vh, 4.5rem);
  height: clamp(3.5rem, 5vh, 4.5rem);
  max-height: 100%;
  object-fit: contain;
  border-radius: 0.625rem;
  flex-shrink: 0;
}

.panel-capture-lead-collection-option-image-placeholder {
  visibility: hidden;
  font-size: 0;
}

.panel-capture-lead-collection-option-text {
  flex: 1;
  color: var(--black, #121212);
  min-width: 0;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  overflow: hidden;
  text-overflow: ellipsis;
  overflow-wrap: anywhere;
  word-break: break-word;
  line-height: 1.2;
}

/* Shape-coded selection control: circle = pick one (radio), square = pick many (checkbox).
   Sized in em (relative to the option label's responsive font) so the box, dot and check scale together
   across totem / iPad / mobile / PC and both orientations, but capped with min() so it never balloons on a
   wide viewport that inflates the font — keeps a ~44px tap target everywhere instead of a giant box. */
.panel-capture-lead-collection-option-control {
  flex-shrink: 0;
  width: min(1.42em, 2.75rem);
  height: min(1.42em, 2.75rem);
  border: 3px solid var(--gray-medium, #dee2e6);
  background: var(--white, #ffffff);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: border-color 0.2s ease, background 0.2s ease;
}

.panel-capture-lead-collection-option-input[type=radio] + .panel-capture-lead-collection-option-label .panel-capture-lead-collection-option-control {
  border-radius: 50%;
}

.panel-capture-lead-collection-option-input[type=checkbox] + .panel-capture-lead-collection-option-label .panel-capture-lead-collection-option-control {
  border-radius: 0.5rem;
}

/* Radio selected: filled inner dot inside the circle. Neutral theme tone (color("black") remaps light in dark
   mode) so the control matches the selected option's black/white border instead of a fixed brand blue. */
.panel-capture-lead-collection-option-input[type=radio]:checked + .panel-capture-lead-collection-option-label .panel-capture-lead-collection-option-control {
  border-color: var(--black, #121212);
}

.panel-capture-lead-collection-option-input[type=radio]:checked + .panel-capture-lead-collection-option-label .panel-capture-lead-collection-option-control::after {
  content: "";
  width: 0.67em;
  height: 0.67em;
  border-radius: 50%;
  background: var(--black, #121212);
}

/* Checkbox selected: check on a filled square. Fill follows the theme (color("black") → light in dark mode);
   the check SVG below is white by default (for the dark fill on the light card) and overridden to a dark
   stroke inside the dark stage, where the fill turns light. */
.panel-capture-lead-collection-option-input[type=checkbox]:checked + .panel-capture-lead-collection-option-label .panel-capture-lead-collection-option-control {
  border-color: var(--black, #121212);
  background: var(--black, #121212);
}

.panel-capture-lead-collection-option-input[type=checkbox]:checked + .panel-capture-lead-collection-option-label .panel-capture-lead-collection-option-control::after {
  content: "";
  width: 0.92em;
  height: 0.92em;
  background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2722%27 height=%2722%27 viewBox=%270 0 22 22%27%3E%3Cpath d=%27M4.5 11.5 9 16 17.5 6.5%27 fill=%27none%27 stroke=%27%23ffffff%27 stroke-width=%272.6%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

/* Image-only question (every option is a picture with no label): render large poster-like tiles instead
   of text rows, à la the Petrobras Siriri selection screen. Columns fit the option count — few options
   sit side-by-side and fill the row; longer lists wrap. The radio/checkbox control and the empty text
   are hidden; the picture fills the whole tile, and the selected tile gets a thick brand border + glow. */
.panel-capture-lead-collection-options--image-only {
  display: flex;
  flex-wrap: wrap;
  justify-content: safe center;
  align-content: safe center;
  align-items: center;
  gap: clamp(0.75rem, 2vw, 1.75rem);
  max-width: min(72rem, 100%);
  overflow-y: auto;
  overflow-x: hidden;
  isolation: isolate;
}
.panel-capture-lead-collection-options--image-only .panel-capture-lead-collection-option {
  flex: 0 1 clamp(8rem, 28vw, 15rem);
}
.panel-capture-lead-collection-options--image-only .panel-capture-lead-collection-option-label {
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 0;
  width: 100%;
  height: auto;
  min-height: 0;
  gap: 0;
  border: none;
  background: none;
  overflow: visible;
}
.panel-capture-lead-collection-options--image-only .panel-capture-lead-collection-option-control,
.panel-capture-lead-collection-options--image-only .panel-capture-lead-collection-option-text {
  display: none;
}
.panel-capture-lead-collection-options--image-only .panel-capture-lead-collection-option-input:checked + .panel-capture-lead-collection-option-label {
  background: none;
}
.panel-capture-lead-collection-options--image-only .panel-capture-lead-collection-option-image {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: clamp(9rem, 34vh, 20rem);
  min-height: 0;
  border: 4px solid var(--gray-medium, #dee2e6);
  border-radius: 1.25rem;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease, opacity 0.2s ease;
}
.panel-capture-lead-collection-options--image-only:has(.panel-capture-lead-collection-option-input:checked) .panel-capture-lead-collection-option-image {
  opacity: 0.45;
}
.panel-capture-lead-collection-options--image-only .panel-capture-lead-collection-option:has(.panel-capture-lead-collection-option-input:checked) {
  z-index: 2;
}
.panel-capture-lead-collection-options--image-only .panel-capture-lead-collection-option-input:checked + .panel-capture-lead-collection-option-label .panel-capture-lead-collection-option-image {
  opacity: 1;
  border-color: var(--blue, #3b82f6);
  box-shadow: 0 0 0 0.25rem var(--white, #ffffff), 0 0 0 0.6rem var(--blue, #3b82f6), 0 0.75rem 2rem rgba(var(--blue, #3b82f6), 0.4);
  transform: scale(1.03);
}

.panel-capture-lead-collection-actions {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin-top: auto;
  margin-bottom: clamp(0.75rem, 2vh, 1.5rem);
}

.panel-capture-lead-collection-cta {
  align-self: stretch;
  padding: clamp(1rem, 1.8vh, 1.5rem) clamp(1.5rem, 3vw, 3rem);
  font: 700 clamp(1.125rem, 1.8vw, 1.5rem) "Customfont";
  min-height: clamp(3.25rem, 4.5vh, 4.25rem);
  color: var(--lead-cta-text, var(--white, #ffffff));
  background: var(--lead-cta-bg, linear-gradient(160deg, var(--gradient, #3b82f6), var(--gradient2, #60c7ba)));
  border: none;
  border-radius: 999px;
  cursor: pointer;
  transition: opacity 0.2s ease, transform 0.15s ease, background 0.25s ease, color 0.25s ease;
}
.panel-capture-lead-collection-cta:hover {
  transform: translateY(-1px);
  opacity: 0.92;
}
.panel-capture-lead-collection-cta:disabled, .panel-capture-lead-collection-cta[disabled] {
  background: var(--gray-medium, #dee2e6);
  color: var(--gray-dark, #434343);
  cursor: not-allowed;
  opacity: 1;
}
.panel-capture-lead-collection-cta:disabled:hover, .panel-capture-lead-collection-cta[disabled]:hover {
  transform: none;
  opacity: 1;
}

.panel-capture-lead-collection-topbar {
  display: flex;
  align-items: center;
  position: absolute;
  top: calc(var(--lead-back-size) / 2);
  left: calc(var(--lead-back-size) / 2);
  z-index: 5;
}

/* Reuses the platform-standard circular .return-link; only resets the <button> chrome.
   Flex-centers the chevron <img> inside the circle. */
.panel-capture-lead-collection-back {
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  padding: 0;
  cursor: pointer;
  appearance: none;
}

/* Inverted vs the default white .return-link: a dark circle with a white arrow, scoped to the lead modal
   (specificity 0,2,0 beats the shared .return-link) so it reads on the bright gradient backdrop. */
.modal-lead-collection .panel-capture-lead-collection-back {
  background-color: var(--accent, #13163F);
  width: var(--lead-back-size);
  height: var(--lead-back-size);
}

.modal-lead-collection .panel-capture-lead-collection-back img {
  filter: brightness(0) invert(1);
  width: 42%;
  height: auto;
}

/* The shared .return-link flips to blue (with an inverted arrow) on :hover — only reachable on desktop (the
   totem is touch), where it reads as a jarring flash on the lead card's accent circle. Hold the accent look
   on hover so the button stays consistent. Specificity (0,3,x) beats .return-link:hover regardless of bundle
   order. */
.modal-lead-collection .panel-capture-lead-collection-back:hover {
  background-color: var(--accent, #13163F);
}

.modal-lead-collection .panel-capture-lead-collection-back:hover img {
  filter: brightness(0) invert(1);
}

/* Dark theme: the accent circle blends into the dark card — mirror the light-theme contrast with a light
   circle (primary-text tone) + dark chevron, held on :hover too so it matches the base button. */
.modal-lead-collection .panel-capture-lead-collection-stage--dark .panel-capture-lead-collection-back,
.modal-lead-collection .panel-capture-lead-collection-stage--dark .panel-capture-lead-collection-back:hover {
  background-color: var(--black, #121212);
}

.modal-lead-collection .panel-capture-lead-collection-stage--dark .panel-capture-lead-collection-back img,
.modal-lead-collection .panel-capture-lead-collection-stage--dark .panel-capture-lead-collection-back:hover img {
  filter: brightness(0);
}

/* Pre-allocated, non-collapsing keyboard dock — keeps the layout stable across every step.
   Flex column so the toggle handle can be ordered above/below the docked keyboard.
   No explicit width: the column stretch + negative side margins below let it break out of the card's
   padding so the keyboard fills the card edge-to-edge (and down to the bottom edge). */
.panel-capture-lead-collection-keyboard-slot {
  display: flex;
  flex-direction: column;
  margin-top: clamp(1rem, 2vh, 1.5rem);
  margin-right: calc(-1 * var(--lead-card-pad-x));
  margin-bottom: calc(-1 * var(--lead-card-pad-y));
  margin-left: calc(-1 * var(--lead-card-pad-x));
  height: clamp(13.75rem, 32vh, 23.75rem);
  overflow: hidden;
  border-bottom-left-radius: var(--lead-card-radius);
  border-bottom-right-radius: var(--lead-card-radius);
}

/* Background wrapper that holds the docked keyboard (JS appends #virtual-keyboard here). It carries the dark
   keyboard tone and flex-fills the slot BELOW the toggle handle, so the surplus width beside the width-capped
   keyboard reads as dark side padding — WITHOUT painting a strip behind the toggle (that stays on the card
   background). Flex column so the docked keyboard behaves exactly as it did when it lived directly in the slot;
   the slot's overflow:hidden + rounded bottom corners still clip this fill. */
.panel-capture-lead-collection-keyboard-bg {
  display: flex;
  flex-direction: column;
  flex: 1 1 0;
  min-height: 0;
  overflow: hidden;
  background: var(--dark-android, #263238);
}

/* Phones use the native keyboard (the on-screen one is totem-only), so don't reserve its space. */
@media (max-width: 768px) {
  .panel-capture-lead-collection-keyboard-slot {
    height: 0;
    margin-top: 0;
  }
}
/* Width-independent collapse: phones in LANDSCAPE are usually wider than 768px, so the media query above
   misses them and the empty slot leaves a big gap. JS adds --native-kb on phones (native keyboard) — kill
   the slot's reservation and break-out margins entirely there, in any orientation. */
.panel-capture-lead-collection-stage--native-kb .panel-capture-lead-collection-keyboard-slot {
  height: 0;
  margin: 0;
}

@media (min-width: 1600px) {
  .modal-lead-collection .content-modal .modal-content.panel-capture-lead-collection-stage {
    --lead-card-pad-x: 4rem;
    --lead-card-pad-y: clamp(0.875rem, 2.4vh, 2rem);
  }
  .modal-lead-collection .panel-capture-lead-collection-step {
    gap: clamp(1.25rem, 2.5vh, 1.75rem);
  }
}
/* Lead inputs (and the phone-country select) share one large, orientation-scaled font — vivi's
   approach: viewport-width in landscape, viewport-height in portrait. Keeping both selectors in the
   same rule guarantees the country select always matches the inputs. */
@media (orientation: landscape) {
  .modal-lead-collection .panel-capture-lead-collection-input,
  .panel-capture-lead-collection-phone-row .panel-capture-lead-collection-phone-country,
  .panel-capture-lead-collection-phone-country-wrap .panel-capture-lead-collection-phone-country-display {
    font-size: clamp(1.375rem, 2.6vw, 2.75rem);
  }
  .modal-lead-collection .content-modal .modal-content.panel-capture-lead-collection-stage {
    width: 100%;
    --lead-card-pad-y: clamp(0.5rem, 1.6vh, 1.25rem);
    --lead-kb-height: clamp(11.875rem, 40vh, 26.25rem);
    --lead-back-size: 3.75rem;
  }
  .modal-lead-collection .panel-capture-lead-collection-input:not(.panel-capture-lead-collection-phone-input) {
    display: block;
    max-width: 56.25rem;
    margin-left: auto;
    margin-right: auto;
  }
  .modal-lead-collection .panel-capture-lead-collection-phone-row {
    max-width: 56.25rem;
    margin-left: auto;
    margin-right: auto;
  }
  .modal-lead-collection .panel-capture-lead-collection-logo-container {
    margin-top: clamp(0.25rem, 1.2vh, 1rem);
    margin-bottom: clamp(0.5rem, 1.6vh, 1.25rem);
  }
  .modal-lead-collection .panel-capture-lead-collection-logo {
    height: clamp(2.75rem, 9vh, 5rem);
  }
  .panel-capture-lead-collection-progress {
    margin-bottom: clamp(0.5rem, 1.2vh, 0.875rem);
  }
  .modal-lead-collection .panel-capture-lead-collection-step {
    gap: clamp(0.625rem, 1.4vh, 1rem);
  }
  .panel-capture-lead-collection-keyboard-slot {
    height: var(--lead-kb-height);
    margin-top: clamp(0.5rem, 1vh, 0.875rem);
  }
  .panel-capture-lead-collection-keyboard-slot .kb-key {
    font-size: clamp(1.5rem, 3.6vh, 2.5rem);
  }
  .panel-capture-lead-collection-step-title {
    font-size: clamp(1.75rem, 3.6vw, 3.5rem);
  }
  .panel-capture-lead-collection-cta {
    padding: clamp(0.875rem, 1.8vh, 1.5rem) clamp(2.25rem, 3.6vw, 4.5rem);
    font-size: clamp(1.5rem, 2.2vw, 2.375rem);
    min-height: clamp(3.75rem, 7vh, 5rem);
  }
  .panel-capture-lead-collection-options {
    --lead-option-h: clamp(4.5rem, 7.5vh, 6rem);
  }
  .panel-capture-lead-collection-option-label {
    font-size: clamp(1.25rem, 1.4vw, 1.875rem);
  }
}
/* Vertical/portrait totem: the screen is tall, not wide — scale the type by viewport height and let
   the card use the full padded width so the big title and stacked options breathe. */
@media (orientation: portrait) {
  .modal-lead-collection .content-modal .modal-content.panel-capture-lead-collection-stage {
    width: 100%;
  }
  .modal-lead-collection .panel-capture-lead-collection-logo-container {
    margin-top: clamp(0.5rem, 2vh, 1.5rem);
    margin-bottom: clamp(1rem, 3vh, 2rem);
  }
  .modal-lead-collection .panel-capture-lead-collection-logo {
    height: clamp(2.75rem, 7vh, 5rem);
  }
  .panel-capture-lead-collection-step-title {
    font-size: clamp(1.75rem, 4.2vh, 4.5rem);
  }
  .panel-capture-lead-collection-keyboard-slot .kb-key {
    font-size: clamp(1.75rem, 3vh, 2.375rem);
  }
  .panel-capture-lead-collection-options {
    --lead-option-h: clamp(4.5rem, 7vh, 6.5rem);
    --lead-option-list-min-width: 52rem;
  }
  .panel-capture-lead-collection-option-label {
    font-size: clamp(1.375rem, 2.4vh, 2.125rem);
  }
  .panel-capture-lead-collection-choice-hint {
    font-size: clamp(1.25rem, 2.2vh, 1.875rem);
  }
  .panel-capture-lead-collection-lgpd-text {
    font-size: clamp(1.5rem, 2.6vh, 2.5rem);
  }
  .panel-capture-lead-collection-lgpd-agree {
    font-size: clamp(1.625rem, 2.8vh, 2.5rem);
  }
  .modal-lead-collection .panel-capture-lead-collection-input,
  .panel-capture-lead-collection-phone-row .panel-capture-lead-collection-phone-country,
  .panel-capture-lead-collection-phone-country-wrap .panel-capture-lead-collection-phone-country-display {
    font-size: clamp(1.5rem, 3.4vh, 3.25rem);
  }
  .panel-capture-lead-collection-cta {
    padding: clamp(1.5rem, 2.8vh, 2.5rem) clamp(1.75rem, 4vw, 3.5rem);
    font-size: clamp(1.625rem, 2.8vh, 2.75rem);
    min-height: clamp(4.75rem, 7.5vh, 7rem);
  }
}
#capture_session_ai_photo_img,
#capture_session_last_photo_img {
  transform-origin: center center;
}

#capture_session_ai_photo_img {
  aspect-ratio: unset;
}

.panel-capture-button--dell {
  background-color: #0032aa !important;
}

.panel-capture-refuse-picture-button--dell {
  background-color: #c50133 !important;
}

.panel-capture-accept-picture-button--dell {
  background-color: #00a14e !important;
}

.panel-capture-button--dell img,
.panel-capture-refuse-picture-button--dell img,
.panel-capture-accept-picture-button--dell img {
  filter: unset !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
}

/* Virtual Keyboard */
/* On-screen keyboard — vivi's dark "Android" theme (palette tokens shared with vivi: dark-android*).
   Key spacing is the original margin-based layout (reverted from gap/flex-grow). */
#virtual-keyboard {
  display: flex;
  flex-direction: column;
  background: var(--dark-android, #263238);
  width: 100%;
  z-index: 10000;
}

#virtual-keyboard.in-modal {
  position: static;
  bottom: auto;
  left: auto;
  transform: none;
  max-width: 100%;
  width: 100%;
  z-index: auto;
  flex: 1 1 auto;
}

.kb-row {
  display: flex;
  flex: 1;
}

.kb-key {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: clamp(0.1875rem, 0.6vh, 0.4375rem);
  flex: 1 1 0;
  min-width: 0;
  background: var(--dark-android-key, #404B50);
  color: var(--white, #ffffff);
  border: none;
  border-radius: 0.375rem;
  font-family: "Customfont", sans-serif;
  font-size: clamp(2.25rem, 2.4vw, 3.75rem);
  line-height: 1.1;
  user-select: none;
  min-height: clamp(2.75rem, 4vh, 4.25rem);
  overflow: hidden;
  transition: background-color 0.2s ease, filter 0.2s ease;
}

.kb-key.special {
  background: var(--dark-android-key-secondary, #313C42);
}

/* Active (pressed/toggled) key highlight — after .special so a toggled CapsLock/Shift keeps it. Hover is
   intentionally omitted: the totem is touch-only, and the keyboard hover feedback was dropped per the meeting. */
.kb-key.active {
  background: var(--dark-android-key-hover, #097CFB);
}

/* Wider special keys via flex-grow (these flex rows are not a grid, so the old `grid-column` was inert).
   Space spans ~6 letters, Shift/CapsLock ~3, Backspace/Tab/Enter ~2. */
.kb-key[data-size="2"] {
  flex-grow: 2;
}

.kb-key[data-size="3"] {
  flex-grow: 3;
}

.kb-key[data-size="6"] {
  flex-grow: 6;
}

/* Enter is the primary "advance" action — solid blue so it stands out from the gray keys. Placed after
   .special so it wins over the gray special-key background. */
.kb-key[data-key=Enter] {
  background: var(--dark-android-key-hover, #097CFB);
  color: var(--white, #ffffff);
}

/* Space bar: flanked by one key-sized spacer on each side (the "" keys in its row) for breathing room,
   and given the same blue as Enter so it reads as a deliberate, prominent key. */
.kb-key[data-key=Space] {
  background: var(--dark-android-key-hover, #097CFB);
  color: var(--white, #ffffff);
}

/* Enter/Space already sit at the accent colour, so a background swap (what the other keys use) gives them no
   feedback. Dim on press instead — colour-agnostic via filter, so it reads on the accent blue.
   (Hover feedback dropped per the meeting; the totem is touch-only.) */
.kb-key[data-key=Enter]:active,
.kb-key[data-key=Space]:active {
  filter: brightness(0.9);
}

/* Empty slot ("" keys) that pads/centres a short row — keeps the .kb-key flex sizing but renders nothing
   and takes no input, so the real keys stay key-width and sit centred. */
.kb-spacer {
  visibility: hidden;
  pointer-events: none;
}

/* The lead keyboard lives in a FIXED-height slot with overflow:hidden (see
   .panel-capture-lead-collection-keyboard-slot). A flex row can't shrink below its content's intrinsic
   size, and the base .kb-key min-height (~2.75rem floor) × 5 rows + the toggle handle exceeds the slot on
   shorter/landscape viewports — so the bottom row (the space bar) overflowed and was clipped. Drop the
   min-height floor HERE only so the rows always flex-fill the slot evenly and every row, including Space,
   stays visible. On tall totems the slot's vh height keeps the flex-filled keys large anyway. The shared
   sticker keyboard keeps the base floor. */
.panel-capture-lead-collection-keyboard-slot .kb-row,
.panel-capture-lead-collection-keyboard-slot .kb-key {
  min-height: 0;
}

/* Large / landscape screens: cap the keyboard width and centre it so the flex:1 keys don't balloon into
   oversized tiles on a very wide card (the labels are already height-capped, so an uncapped full-width slot
   only inflates each key's empty area). Capping the whole keyboard scales every layout down together — the
   QWERTY rows and the 3-wide numeric pad alike. Width-driven (max-width + auto margins), so it only kicks in
   once the slot is wider than the cap (big desktops); narrow/normal totems are unaffected. */
.panel-capture-lead-collection-keyboard-slot #virtual-keyboard.in-modal {
  max-width: 90rem;
  margin-left: auto;
  margin-right: auto;
}

/* Lead keyboard: Enter and Space drop the accent blue and match the regular letter keys, so no on-screen key
   looks singled out or branded. Scoped to the lead slot — the sticker keyboard keeps its default accent. */
.panel-capture-lead-collection-keyboard-slot .kb-key[data-key=Enter],
.panel-capture-lead-collection-keyboard-slot .kb-key[data-key=Space] {
  background: var(--dark-android-key, #404B50);
  color: var(--white, #ffffff);
}

.mask {
  position: fixed; /* start at window edges */
  inset: 0; /* top/right/bottom/left = 0 */
  z-index: 1;
}

.mask__hole {
  position: absolute;
  box-shadow: 0 0 0 100vmax rgba(0, 0, 0, 0.6);
  pointer-events: none;
  outline: 4px solid rgb(255, 255, 255);
}

.mask.none + .frame-overlay .frame-overlay-image {
  box-shadow: 0 0 0 100vmax rgba(0, 0, 0, 0.6);
}

.webcam--crop-contain {
  object-fit: contain !important;
}

.orientation-lines-list-container {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 1rem;
  list-style: none;
}
.orientation-lines-list-container li {
  flex-grow: 1;
}
.orientation-lines-list-container h3 {
  margin-bottom: 1rem;
}

.modal-panel-capture-fullscreen--green-background .content-modal {
  background: radial-gradient(50% 50% at 50% 50%, #476D64 0%, #34544C 100%);
}

.modal-panel-capture-fullscreen .content-modal {
  border-radius: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  position: relative !important;
  padding: 8rem 2.5rem 4.25rem !important;
}

.modal-panel-capture-fullscreen .modal-content {
  align-items: center;
  justify-content: space-between;
  position: relative !important;
  z-index: 1 !important;
  width: 100% !important;
  height: 100% !important;
}

.modal-boticario-logo {
  margin-top: 2.375rem;
}

.modal-panel-capture-fullscreen form {
  width: 100%;
}

.modal-panel-capture-fullscreen .img-background {
  width: 100% !important;
  height: 100% !important;
  left: 0 !important;
  top: 0 !important;
  opacity: 30%;
  position: absolute !important;
  object-fit: cover !important;
}

.modal-boticario-main-title,
.modal-boticario-last-title {
  font-family: "Test domaine display";
  text-align: center;
  font-weight: 700;
  font-size: 5.5rem;
  line-height: 100%;
  letter-spacing: 0%;
}

.modal-boticario-last-title {
  font-size: 3.625rem;
}

.modal-boticario-main-text-container {
  align-items: center;
  justify-content: center;
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.modal-boticario-main-text {
  font-family: "Test domaine display";
  font-weight: 400;
  font-size: 1.75rem;
  line-height: 100%;
  letter-spacing: 0%;
  text-align: center;
  text-transform: uppercase;
}

.modal-boticario-main-image {
  height: auto;
  width: 100%;
}

.modal-boticario-christmas-cover .modal-boticario-main-image {
  margin: auto;
  max-width: 75vw;
}

.text-white {
  color: var(--white, #ffffff) !important;
}

.inputs-container {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-top: 2rem;
  width: 100%;
}

.button-boticario--green,
.button-boticario--white {
  font-family: "Test domaine display", sans-serif;
  vertical-align: middle;
  color: #34544C;
  min-height: 7.75rem;
  border-radius: 100px;
  font-weight: 700;
  font-size: 2.5rem;
  box-shadow: 0px 8px 25px 0px rgba(0, 0, 0, 0.102);
  padding: 2.375rem 2rem !important;
  width: 100% !important;
}

.button-boticario--green {
  background-color: #A0DAB3;
}

.button-boticario--white {
  background-color: var(--white, #ffffff);
}

.modal-boticario-steps-list {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  list-style: none;
  gap: 1rem;
  margin-top: 2.125rem;
}

.modal-boticario-form-container {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  margin-top: 15rem;
}

.modal-boticario-form input,
.modal-boticario-form textarea {
  border: 1px solid #CDCDCD;
  border-radius: 0.25rem !important;
  font-size: 2rem !important;
  padding: 1.5rem var(--pad-x) !important;
  font-weight: 400 !important;
  color: #1D1B20;
  line-height: 1.5 !important;
  min-height: 7rem;
}

.modal-boticario-form input,
.modal-boticario-form textarea,
.modal-boticario-form label {
  letter-spacing: 0.5px !important;
}

.modal-boticario-form label {
  background: #FFF;
  color: #07B79C;
  font-size: 1.5rem;
  font-style: normal;
  font-weight: 400;
  line-height: 133.333%;
  letter-spacing: 0.05rem;
}

.modal-boticario-form input:valid,
.modal-boticario-form textarea:valid {
  border: 1px solid #07B79C !important;
}

.modal-boticario-form input:focus,
.modal-boticario-form textarea:focus {
  border: 1px solid #07B79C !important;
  outline: 1px solid #07B79C;
}

.modal-boticario-steps-list li {
  background: #CDCDCD;
  border: 1px solid #34544C;
  border-radius: 100%;
  height: 1.5rem;
  width: 1.5rem;
}

.modal-boticario-steps-list .current-step {
  background: transparent;
  position: relative;
  border: 1px solid #A0DAB3;
  height: 2.5rem;
  width: 2.5rem;
  padding: 0.75rem;
  border-radius: 100%;
}
.modal-boticario-steps-list .current-step::after {
  content: " ";
  position: absolute;
  background: #A0DAB3;
  border-radius: 100%;
  height: 1rem;
  width: 1rem;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.canfora-image {
  margin-bottom: 4rem;
}

.modal-boticario-form .input-floating-container {
  --pad-x: 2rem;
  --label-initial-size: 2rem;
  --label-float-size: 1.25rem;
  position: relative;
}

.modal-boticario-form .input-floating-container input,
.modal-boticario-form .input-floating-container select,
.modal-boticario-form .input-floating-container textarea {
  width: 100%;
}

.modal-boticario-form .input-floating-container label {
  position: absolute;
  left: var(--pad-x);
  top: 50%;
  transform: translateY(-50%) scaleX(99%);
  font: 400 var(--label-initial-size) "Customfont";
  color: #8E8E8E;
  background: #FFF;
  padding: 0;
  line-height: 1;
  pointer-events: none;
  transition: color 0.5s ease, font-size 0.25s ease, top 0.25s ease, transform 0.25s ease;
  line-height: 150%;
}

.modal-boticario-form .input-floating-container textarea + label {
  top: 4.5rem;
}

.modal-boticario-form .input-floating-container input:focus + label,
.modal-boticario-form .input-floating-container input:not(:placeholder-shown) + label,
.modal-boticario-form .input-floating-container input:-webkit-autofill + label,
.modal-boticario-form .input-floating-container textarea:focus + label,
.modal-boticario-form .input-floating-container textarea:not(:placeholder-shown) + label,
.modal-boticario-form .input-floating-container textarea:-webkit-autofill + label,
.modal-boticario-form .input-floating-container select:focus + label,
.modal-boticario-form .input-floating-container select:valid + label {
  color: #07B79C;
  top: 0;
  transform: translateY(-50%);
  font-size: var(--label-float-size) !important;
  padding: 0 0.25rem;
}

.modal-boticario-form .inputs-container {
  gap: 3rem;
}

.modal-tomorrow-logo {
  margin-top: 0;
  margin-bottom: 2rem;
}

.modal-tomorrow-form-container,
.modal-tomorrow-form-container-questions {
  flex-grow: 0.5;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  margin-top: 4rem;
}

.modal-tomorrow-question-title {
  text-align: center;
  font-weight: 700;
  font-size: 2.5rem;
  line-height: 100%;
  margin-bottom: 2rem;
}

.modal-tomorrow-spgov-answer-container section {
  margin: 0 auto;
  display: grid;
  gap: 22px;
  padding: 8px;
  font-family: Inter, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  color: var(--text);
}
.modal-tomorrow-spgov-answer-container section > div {
  position: relative;
  display: block;
  width: 100%;
}
.modal-tomorrow-spgov-answer-container section input[type=radio] {
  position: absolute !important;
  width: 100% !important;
  height: 100% !important;
  top: 0;
  left: 0;
  margin: 0;
  padding: 0;
  opacity: 0;
  border: 0;
  clip: auto;
  clip-path: none;
  overflow: hidden;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
.modal-tomorrow-spgov-answer-container section label {
  width: 100% !important;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  gap: var(--gap);
  padding: 14px 16px;
  border-radius: var(--radius);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.02), rgba(0, 0, 0, 0.02));
  border: 1px solid rgba(39, 39, 39, 0.171);
  border-radius: 0.25rem;
  cursor: pointer;
  transition: transform 0.12s ease, box-shadow 0.14s ease, border-color 0.12s ease;
  line-height: 1.3;
  font-size: 1.5rem;
  font-weight: 600;
  color: #5a5151;
  box-sizing: border-box;
  white-space: normal;
  word-break: break-word;
}
.modal-tomorrow-spgov-answer-container section label::before {
  content: "";
  flex: 0 0 20px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  border: 2px solid var(--muted);
  background: transparent;
  transition: none;
  box-sizing: border-box;
}
.modal-tomorrow-spgov-answer-container {
  /* Quando selecionado: garantir que continue totalmente transparente/invisível */
}
.modal-tomorrow-spgov-answer-container section input[type=radio]:checked + label::before {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  outline: none !important;
  opacity: 0 !important;
  transform: none !important;
}
.modal-tomorrow-spgov-answer-container {
  /* remover qualquer sombra residual do label::before ao focar */
}
.modal-tomorrow-spgov-answer-container section input[type=radio]:focus + label::before {
  box-shadow: none !important;
  outline: none !important;
}
.modal-tomorrow-spgov-answer-container {
  /* hover e foco visual */
}
.modal-tomorrow-spgov-answer-container section label:hover {
  transform: translateY(-3px);
  border-radius: 0.25rem;
  box-shadow: 0 8px 20px rgba(23, 2, 2, 0.45);
}
.modal-tomorrow-spgov-answer-container section input[type=radio]:focus + label {
  outline: 3px solid rgba(49, 49, 49, 0.18);
  border-radius: 0.25rem;
  outline-offset: 3px;
}
.modal-tomorrow-spgov-answer-container {
  /* preencher o ponto interno do indicador quando selecionado */
}
.modal-tomorrow-spgov-answer-container section input[type=radio]:checked + label::before {
  background: var(--primary);
  border-color: var(--primary);
  box-shadow: 0 0 0 6px rgba(184, 187, 192, 0.08);
}
.modal-tomorrow-spgov-answer-container section input[type=radio]:checked + label {
  border-color: #5A5151;
  border-radius: 0.25rem;
  box-shadow: 0 14px 30px rgba(59, 59, 59, 0.199);
  transform: translateY(-4px);
  background: linear-gradient(180deg, rgba(148, 160, 148, 0.06), rgba(0, 0, 0, 0.2));
}

.modal-tomorrow-spgov .change-language-button-container {
  display: flex;
  align-items: center;
}
.modal-tomorrow-spgov .change-language-button-container p, .modal-tomorrow-spgov .change-language-button-container .number-of-devices-label {
  color: #5d5d5d;
  font-size: 1.4rem;
}

.modal-tomorrow-spgov .change-language-button {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  background: #fff;
  color: #000;
  font-size: 1.4rem;
  font-weight: 600;
  text-decoration: underline;
  width: fit-content;
  padding-left: 0.25rem;
}

.modal-tomorrow-spgov input,
.modal-tomorrow-spgov textarea {
  border: 1px solid #CDCDCD;
  border-radius: 0.25rem !important;
  font-size: 2rem !important;
  padding: 1.5rem var(--pad-x) !important;
  font-weight: 400 !important;
  color: #1D1B20;
  line-height: 1.5 !important;
  min-height: 7rem;
}

.modal-tomorrow-spgov input,
.modal-tomorrow-spgov textarea,
.modal-tomorrow-spgov label {
  letter-spacing: 0.5px !important;
}

.modal-tomorrow-spgov label {
  background: #FFF;
  color: #5A5151;
  font-size: 1.5rem;
  font-style: normal;
  font-weight: 400;
  line-height: 133.333%;
  letter-spacing: 0.05rem;
}

.modal-tomorrow-spgov input:valid,
.modal-tomorrow-spgov textarea:valid {
  border: 1px solid #5A5151 !important;
  border-radius: 0.25rem !important;
}

.modal-tomorrow-spgov input:focus,
.modal-tomorrow-spgov textarea:focus {
  border: 1px solid #5A5151 !important;
  outline: 1px solid #000;
}

.modal-tomorrow-spgov .input-floating-container {
  --pad-x: 2rem;
  --label-initial-size: 2rem;
  --label-float-size: 1.25rem;
  position: relative;
}

.modal-tomorrow-spgov .input-floating-container input,
.modal-tomorrow-spgov .input-floating-container select,
.modal-tomorrow-spgov .input-floating-container textarea {
  width: 100%;
}

.modal-tomorrow-spgov .input-floating-container label {
  position: absolute;
  left: var(--pad-x);
  top: 50%;
  transform: translateY(-50%) scaleX(99%);
  font: 400 var(--label-initial-size) "Customfont";
  color: #8E8E8E;
  background: #FFF;
  padding: 0;
  line-height: 1;
  pointer-events: none;
  transition: color 0.5s ease, font-size 0.25s ease, top 0.25s ease, transform 0.25s ease;
  line-height: 150%;
}

.modal-tomorrow-spgov .input-floating-container input:valid + label {
  font-size: var(--label-initial-size) !important;
  transform: translateY(-50%) scaleX(99%);
  border-color: #5A5151 !important;
}

.modal-tomorrow-spgov .input-floating-container textarea + label {
  top: 4.5rem;
}

.modal-tomorrow-spgov .input-floating-container input:focus + label,
.modal-tomorrow-spgov .input-floating-container input:not(:placeholder-shown) + label,
.modal-tomorrow-spgov .input-floating-container input:-webkit-autofill + label,
.modal-tomorrow-spgov .input-floating-container textarea:focus + label,
.modal-tomorrow-spgov .input-floating-container textarea:not(:placeholder-shown) + label,
.modal-tomorrow-spgov .input-floating-container textarea:-webkit-autofill + label,
.modal-tomorrow-spgov .input-floating-container select:focus + label,
.modal-tomorrow-spgov .input-floating-container select:valid + label {
  color: #5A5151;
  top: 0;
  transform: translateY(-50%);
  font-size: var(--label-float-size) !important;
  padding: 0 0.25rem;
}

.modal-tomorrow-spgov .inputs-container {
  gap: 3rem;
  margin-top: 0;
}

.modal-tomorrow-steps-list {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  list-style: none;
  gap: 1rem;
  margin-top: 2.125rem;
}

.modal-tomorrow-steps-list li {
  background: #DEE2E6;
  border: 1px solid #000;
  border-radius: 100%;
  height: 1.5rem;
  width: 1.5rem;
}

.modal-tomorrow-steps-list .current-step {
  background: transparent;
  position: relative;
  border: 1px solid #000;
  height: 2.5rem;
  width: 2.5rem;
  padding: 0.75rem;
  border-radius: 100%;
}
.modal-tomorrow-steps-list .current-step::after {
  content: " ";
  position: absolute;
  background: #DEE2E6;
  border-radius: 100%;
  height: 1rem;
  width: 1rem;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.modal-tomorrow-spgov-final-picture {
  height: auto;
  width: 90%;
  object-fit: contain;
  align-self: center;
}

.modal-tomorrow-spgov-picture #tomorrow_spgov_registered_leads_div {
  width: 100%;
  box-sizing: border-box;
  padding: 12px;
}
.modal-tomorrow-spgov-picture {
  /* lista */
}
.modal-tomorrow-spgov-picture #tomorrow_spgov_registered_leads_div ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 8px;
}
.modal-tomorrow-spgov-picture #tomorrow_spgov_registered_leads_div li {
  display: block;
  width: 100%;
  box-sizing: border-box;
  padding: 12px 16px;
  background: #f2f2f2;
  border: 1px solid rgba(0, 0, 0, 0.25);
  border-radius: 0.25rem;
  cursor: pointer;
  font-weight: 600;
  color: #000;
  transition: transform 0.12s ease, box-shadow 0.14s ease, border-color 0.12s ease;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-bottom: 0.5rem;
}
.modal-tomorrow-spgov-picture #tomorrow_spgov_registered_leads_div li:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.45);
  border-color: rgba(75, 71, 71, 0.12);
}
.modal-tomorrow-spgov-picture #tomorrow_spgov_registered_leads_div li:focus {
  outline: 3px solid rgba(53, 53, 53, 0.14);
  outline-offset: 3px;
}
.modal-tomorrow-spgov-picture #tomorrow_spgov_registered_leads_div li.selected {
  background: linear-gradient(180deg, rgba(192, 179, 179, 0.06), rgba(25, 10, 10, 0.02));
  border-color: #423f3f;
  color: #fff;
  box-shadow: 0 12px 30px rgba(53, 53, 53, 0.12);
  transform: translateY(-2px);
}

.button-tomorrow--red,
.button-tomorrow--black,
.button-tomorrow--white {
  vertical-align: middle;
  min-height: 7.75rem;
  border-radius: 100px;
  font-weight: 700;
  font-size: 2.5rem;
  box-shadow: 0px 8px 25px 0px rgba(0, 0, 0, 0.102);
  padding: 2.375rem 2rem !important;
  width: 100% !important;
}

.button-tomorrow--red {
  background-color: #EA6069;
  color: #fff;
}

.button-tomorrow--black {
  background-color: #000;
  color: #fff;
}

.button-tomorrow--white {
  background-color: #fff;
  color: #000;
}

.frame-overlay {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 1;
}
.frame-overlay img {
  position: absolute;
  display: block;
  box-sizing: border-box;
  object-fit: fill;
}

#frame_overlay_image {
  object-fit: fill;
}

.webcam--frame-style {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.hide-cursor,
.hide-cursor button,
.hide-cursor a {
  cursor: none !important;
}

.video-container.boticario-natal-shadow-frame::before, .video-container.boticario-natal-shadow-frame::after {
  content: "";
  left: 0;
  background-color: rgba(0, 0, 0, 0.75);
  height: 22vh;
  width: 100%;
  z-index: 1;
  position: absolute;
}
.video-container.boticario-natal-shadow-frame::before {
  top: 0;
}
.video-container.boticario-natal-shadow-frame::after {
  bottom: 0;
}

.content-close-container {
  align-items: center;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  padding-left: 26px;
  width: 100%;
}
.content-close-container h1, .content-close-container h2, .content-close-container h3 {
  width: 100%;
  text-align: center;
}
.content-close-container h1 {
  font-weight: 500;
  font-size: 3rem;
  line-height: 116%;
  letter-spacing: 0;
}

.content-close-container--without-icon {
  padding-left: 0;
}

.modal .content-modal .modal-content.modal-print-photos-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.modal-print-photos-main-content,
.modal-qrcode-photos-main-content,
.modal-photos-main-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin: auto;
}
.modal-print-photos-main-content h1, .modal-print-photos-main-content h2, .modal-print-photos-main-content h3,
.modal-qrcode-photos-main-content h1,
.modal-qrcode-photos-main-content h2,
.modal-qrcode-photos-main-content h3,
.modal-photos-main-content h1,
.modal-photos-main-content h2,
.modal-photos-main-content h3 {
  text-align: center;
}

.modal-photos-main-content {
  margin: unset;
  min-height: 0;
  min-width: 0;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}

.modal-print-photos-main-content {
  gap: 2.5rem;
  padding: min(10.3125rem, 2vh) 1rem;
}

.modal-qrcode-photos-main-content {
  gap: 0.5rem;
  padding: min(2rem, 15vh) 1rem;
}

.modal-print-photos-main-photo {
  width: 100%;
  height: auto;
  max-width: 406px;
}

.button-ghost--print-photos {
  background-color: var(--white, #ffffff);
  border: 1px solid currentColor;
  color: var(--black, #121212);
  flex-shrink: 0;
  text-decoration: none;
  font-size: initial;
  font-weight: 700;
  width: min(350px, 100%);
  height: 56px;
  display: flex;
  border-radius: 0.375rem;
  justify-content: center;
  align-items: center;
  padding-inline: 1rem;
}

.modal-print-photos .content-modal {
  padding: 2.5rem 2rem;
}

.capture-session-qrcode-image {
  aspect-ratio: 1/1;
  height: 490px;
  width: 490px;
}

.modal-print-photos.open,
.modal-qrcode-photos.open,
.modal-photos.open {
  display: flex;
}
.modal-print-photos .content-modal,
.modal-qrcode-photos .content-modal,
.modal-photos .content-modal {
  height: calc(100% - 4rem);
  margin: auto;
  width: calc(100% - 6.125rem);
  overflow: auto;
  padding: 2.5rem 1rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  top: unset;
  transform: unset;
}
.modal-print-photos .content-modal.max-width,
.modal-qrcode-photos .content-modal.max-width,
.modal-photos .content-modal.max-width {
  max-width: 75.625rem;
}

.modal-photos .content-modal {
  display: flex;
  flex-direction: row;
  padding: 0;
  overflow: hidden;
  align-items: stretch;
  min-height: 0;
  min-width: 0;
}

.modal-your-photos-are-here-button-container {
  align-items: stretch;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.5rem;
  width: 100%;
}

.modal-photos-qrcode-image {
  transition: width 0.5s ease, height 0.5s ease;
  will-change: "width", "height";
  width: min(100%, 35vw, 15rem);
  height: auto;
}

.modal-photos-qrcode-container {
  background-color: var(--blue-light, #e5edfa);
  flex-shrink: 0;
  height: 100%;
  width: 20.25rem;
  z-index: 1;
  transition: transform 0.5s ease;
  transform-origin: left;
  position: sticky;
  top: 0;
}
.modal-photos-qrcode-container.expanded {
  transform: scaleX(2);
}
.modal-photos-qrcode-container.expanded .modal-photos-qrcode-expandable-container {
  transform: scaleX(0.5);
}
.modal-photos-qrcode-container.expanded .modal-photos-qrcode-image {
  height: min(492px, 50vw, 50vh);
  width: min(492px, 50vw, 50vh);
}

.modal-photos-qrcode-expandable-container {
  align-items: center;
  background-color: var(--blue-light, #e5edfa);
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
  gap: 0.5rem;
  padding: 1rem 3.5625rem;
  height: 100%;
  width: 100%;
  position: absolute;
  transition: transform 0.5s ease, padding 0.5s ease;
  will-change: transform;
}
.modal-photos-qrcode-expandable-container .button-primary {
  text-wrap: nowrap;
}

.modal-photos-photo-container {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  gap: 0.5rem;
  width: 100%;
  flex: 1 1 auto;
  min-height: 0;
  min-width: 0;
  padding: 1rem;
}

.modal-photos-capture-session-completed-container {
  align-items: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 100%;
  height: 100%;
}
.modal-photos-capture-session-completed-container img {
  min-height: 100px;
  min-width: 100px;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.modal-banrisul-pixel-picture .content-modal {
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  height: 100% !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
}

.modal-banrisul-pixel-picture__image {
  width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
  max-width: 100vw !important;
  max-height: 100vh !important;
}

@supports (height: 100svh) {
  .modal-banrisul-pixel-picture__image {
    max-width: 100svw !important;
    max-height: 100svh !important;
  }
}
@media screen and (orientation: portrait) and (min-height: 1024px) {
  .modal-slideshow .modal-content {
    position: relative;
    top: 50%;
    transform: translateY(-50%);
  }
  .modal-slideshow .content-modal {
    margin: auto;
  }
}
@media only screen and (max-width: 679px), screen and (max-height: 679px) {
  .capture-session-qrcode-image {
    width: min(100% - 2rem, 490px);
    height: min(100% - 2rem, 490px);
  }
  .modal-print-photos .content-modal.max-width,
  .modal-qrcode-photos .content-modal.max-width,
  .modal-photos .content-modal.max-width {
    height: 100%;
    width: 100%;
    max-width: 100%;
    max-height: 100%;
  }
}
@media only screen and (orientation: portrait) {
  .modal-print-photos .content-modal,
  .modal-qrcode-photos .content-modal,
  .modal-photos .content-modal {
    max-width: 785px;
    max-height: 1210px;
  }
  .modal-photos .content-modal {
    flex-direction: column;
  }
  .modal-photos-qrcode-container {
    width: 100%;
    height: 20.25rem;
    transform-origin: bottom;
  }
  .modal-photos-qrcode-container.expanded {
    transform: scaleY(2);
  }
  .modal-photos-qrcode-container.expanded .modal-photos-qrcode-expandable-container {
    padding-inline: 1.5rem;
    transform: scaleY(0.5);
  }
  .modal-photos-photo-container {
    order: -1;
  }
  .modal-photos-qrcode-expandable-container {
    flex-direction: row;
    justify-content: space-between;
  }
}
@media only screen and (orientation: landscape) {
  .modal-print-photos .content-modal,
  .modal-qrcode-photos .content-modal,
  .modal-photos .content-modal {
    max-width: 1210px;
    max-height: 785px;
  }
  .modal-photos-capture-session-completed-container {
    max-height: 100%;
    max-width: 100%;
    width: 100%;
    height: 100%;
  }
}
@media only screen and (orientation: landscape) and (max-height: 500px) {
  .modal-print-photos-main-photo {
    max-height: 30vh;
  }
  .modal-print-photos-main-content {
    gap: min(2.5rem, 2.5vh);
  }
  .capture-session-qrcode-image {
    max-height: 50vh;
    height: 100%;
    width: auto;
  }
  .modal-qrcode-photos .content-modal {
    padding: min(2.5vh, 2.5rem) 1rem;
  }
  .modal-qrcode-photos .content-close-container h1 {
    font-size: clamp(1rem, 10vh, 3rem);
  }
  .modal-qrcode-photos-main-content h3 {
    font-size: clamp(0.875rem, 7vh, 1.5rem);
  }
  .modal-photos h1 {
    font-size: clamp(1.5rem, 7vh, 3rem);
  }
  @supports (height: 100svh) {
    .capture-session-qrcode-image {
      max-height: 50svh;
    }
    .modal-print-photos-main-photo {
      max-height: 30svh;
    }
    .modal-print-photos-main-content {
      gap: min(2.5rem, 2.5svh);
    }
    .modal-qrcode-photos .content-modal {
      padding: min(2.5svh, 2.5rem) 1rem;
    }
    .modal-qrcode-photos .content-close-container h1 {
      font-size: clamp(1rem, 10svh, 3rem);
    }
    .modal-qrcode-photos-main-content h3 {
      font-size: clamp(0.875rem, 7svh, 1.5rem);
    }
    .modal-photos h1 {
      font-size: clamp(1.5rem, 7svh, 3rem);
    }
  }
}
@media only screen and (orientation: portrait) and (max-width: 500px) {
  .modal-photos-qrcode-expandable-container {
    padding: 1rem;
  }
  .modal-photos-qrcode-container {
    height: 100%;
    max-height: 180px;
  }
  .modal-session-qrcode-image-container .image-is-loading img {
    max-height: 30vh;
  }
  .modal-photos-qrcode-container.expanded .modal-photos-qrcode-expandable-container {
    gap: 0;
    padding: 0;
  }
}
.modal-lead-mobile-gate .content-modal {
  width: 100vw;
  height: 100vh;
  height: 100dvh;
  max-width: unset;
  margin: 0;
  padding: clamp(1rem, 3vh, 3rem) clamp(1rem, 3vw, 3rem);
  border-radius: 0;
  top: 0;
  transform: none;
  box-sizing: border-box;
  background: linear-gradient(160deg, var(--gradient, #3b82f6), var(--gradient2, #60c7ba));
  display: flex;
  align-items: center;
  justify-content: center;
}

.panel-capture-lead-mobile-gate {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(0.75rem, 1.8vh, 1.4rem);
  width: min(40rem, 100%);
  max-height: 100%;
  overflow-y: auto;
  box-sizing: border-box;
  padding: clamp(1.75rem, 3.5vh, 3rem) clamp(1.5rem, 4vw, 2.75rem);
  background: var(--white, #ffffff);
  color: var(--black, #121212);
  border-radius: clamp(1rem, 2vw, 1.5rem);
  box-shadow: 0 1px 12px rgba(204, 204, 204, 0.25);
  text-align: center;
}

.panel-capture-lead-mobile-gate-logo-container {
  display: flex;
  justify-content: center;
  align-items: center;
}

.panel-capture-lead-mobile-gate-logo {
  width: auto;
  height: clamp(1.75rem, 4.5vh, 3rem);
  max-width: min(60%, 14rem);
  object-fit: contain;
}

.panel-capture-lead-mobile-gate-title {
  font: 700 clamp(1.35rem, 2.6vw, 2.1rem) "Customfont";
  margin: 0;
  line-height: 1.15;
  color: var(--black, #121212);
}

.panel-capture-lead-mobile-gate-steps {
  margin: 0;
  padding-left: 1.5rem;
  text-align: left;
  font: 500 clamp(0.9rem, 1.4vw, 1.15rem) "Customfont";
  line-height: 1.5;
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
  color: var(--black, #121212);
}

.panel-capture-lead-mobile-gate-qr-frame {
  background: #ffffff;
  padding: clamp(0.5rem, 1.2vw, 0.85rem);
  border-radius: 0.85rem;
  border: 1px solid var(--gray-medium, #dee2e6);
}

.panel-capture-lead-mobile-gate-qr {
  display: block;
  width: clamp(8.5rem, 20vw, 12rem);
  height: auto;
}

.panel-capture-lead-mobile-gate-manual-only {
  display: none;
}

.panel-capture-lead-mobile-gate--manual .panel-capture-lead-mobile-gate-camera-only {
  display: none;
}

.panel-capture-lead-mobile-gate--manual .panel-capture-lead-mobile-gate-manual-only {
  display: flex;
}

.panel-capture-lead-mobile-gate-camera-cluster {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(0.6rem, 1.6vh, 1.1rem);
  width: clamp(14rem, 60vw, 20rem);
  max-width: 100%;
}

.panel-capture-lead-mobile-gate-preview-box {
  width: 100%;
  aspect-ratio: 4/3;
  overflow: hidden;
  border-radius: 0.85rem;
  background: #000000;
  border: 3px solid var(--gray-medium, #dee2e6);
  transition: border-color 0.25s ease;
}

.panel-capture-lead-mobile-gate-preview {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.panel-capture-lead-mobile-gate-error {
  font: 600 clamp(0.85rem, 1.3vw, 1.1rem) "Customfont";
  margin: 0;
  line-height: 1.35;
  text-align: center;
  color: var(--red, #fd5249);
  transition: opacity 0.6s ease;
}

.panel-capture-lead-mobile-gate-error--fading {
  opacity: 0;
}

.panel-capture-lead-mobile-gate--success .panel-capture-lead-mobile-gate-preview-box {
  border-color: #37d67a;
}

.panel-capture-lead-mobile-gate-preview-box--error {
  animation: panel-capture-lead-mobile-gate-preview-flash 0.6s ease;
}

@keyframes panel-capture-lead-mobile-gate-preview-flash {
  0% {
    border-color: var(--red, #fd5249);
  }
  30% {
    border-color: var(--gray-medium, #dee2e6);
  }
  60% {
    border-color: var(--red, #fd5249);
  }
  100% {
    border-color: var(--gray-medium, #dee2e6);
  }
}
.panel-capture-lead-mobile-gate-manual-cluster {
  flex-direction: column;
  align-items: center;
  gap: clamp(0.5rem, 1.4vh, 0.9rem);
  width: clamp(12rem, 60vw, 16rem);
  max-width: 100%;
}

.panel-capture-lead-mobile-gate-manual-heading {
  font: 600 clamp(0.9rem, 1.4vw, 1.15rem) "Customfont";
  margin: 0;
  text-align: center;
  line-height: 1.35;
  color: var(--black, #121212);
}

.panel-capture-lead-mobile-gate-switch {
  appearance: none;
  background: none;
  border: none;
  padding: clamp(0.3rem, 0.8vh, 0.5rem) 0.5rem;
  cursor: pointer;
  font: 500 clamp(0.8rem, 1.2vw, 1rem) "Customfont";
  color: var(--gray-dark, #434343);
  text-align: center;
  line-height: 1.35;
  text-decoration: underline;
  text-underline-offset: 0.2rem;
}

.panel-capture-lead-mobile-gate-switch-action {
  white-space: nowrap;
}

.panel-capture-lead-mobile-gate-code-display {
  display: flex;
  gap: clamp(0.25rem, 0.6vw, 0.45rem);
}

.panel-capture-lead-mobile-gate-code-slot {
  width: clamp(1.6rem, 3.6vw, 2.15rem);
  height: clamp(2.25rem, 4.5vh, 2.9rem);
  display: flex;
  align-items: center;
  justify-content: center;
  font: 700 clamp(1.25rem, 2.1vw, 1.7rem) "Customfont";
  color: var(--black, #121212);
  background: var(--gray-light, #f5f6f7);
  border: 2px solid var(--gray-medium, #dee2e6);
  border-radius: 0.5rem;
  transition: border-color 0.15s ease, background-color 0.15s ease, color 0.15s ease;
}

.panel-capture-lead-mobile-gate-code-slot--filled {
  border-color: var(--lead-cta-bg, var(--black, #121212));
}

.panel-capture-lead-mobile-gate-code-display--error {
  animation: panel-capture-lead-mobile-gate-code-shake 0.45s ease;
}
.panel-capture-lead-mobile-gate-code-display--error .panel-capture-lead-mobile-gate-code-slot {
  color: #ffffff;
  background: var(--red, #fd5249);
  border-color: var(--red, #fd5249);
}

.panel-capture-lead-mobile-gate-code-display--success .panel-capture-lead-mobile-gate-code-slot {
  color: #ffffff;
  background: #37d67a;
  border-color: #37d67a;
}

@keyframes panel-capture-lead-mobile-gate-code-shake {
  0% {
    transform: translateX(0);
  }
  15% {
    transform: translateX(-0.4rem);
  }
  30% {
    transform: translateX(0.4rem);
  }
  45% {
    transform: translateX(-0.28rem);
  }
  60% {
    transform: translateX(0.28rem);
  }
  75% {
    transform: translateX(-0.14rem);
  }
  100% {
    transform: translateX(0);
  }
}
.panel-capture-lead-mobile-gate-code-error {
  font: 600 clamp(0.8rem, 1.2vw, 1rem) "Customfont";
  margin: 0;
  line-height: 1.35;
  text-align: center;
  color: var(--red, #fd5249);
  transition: opacity 0.6s ease;
}

.panel-capture-lead-mobile-gate-code-error--fading {
  opacity: 0;
}

.panel-capture-lead-mobile-gate-keypad {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(0.35rem, 0.9vw, 0.6rem);
  width: 100%;
}
.panel-capture-lead-mobile-gate-keypad button {
  appearance: none;
  border: 1px solid var(--gray-medium, #dee2e6);
  background: var(--gray-light, #f5f6f7);
  color: var(--black, #121212);
  font: 600 clamp(1.1rem, 1.9vw, 1.5rem) "Customfont";
  border-radius: 0.6rem;
  padding: clamp(0.4rem, 1vh, 0.7rem) 0;
  cursor: pointer;
  transition: background-color 0.15s ease, border-color 0.15s ease;
}
.panel-capture-lead-mobile-gate-keypad button:active {
  background: var(--gray-medium, #dee2e6);
  border-color: var(--gray-dark, #434343);
}

.panel-capture-lead-mobile-gate-keypad-backspace {
  line-height: 1;
}

.panel-lead-preview-iframe-body {
  margin: 0;
}

.user-terms-main {
  display: flex;
  flex-direction: column;
  font: 400 1rem "Customfont";
  gap: 2rem;
  margin: 0 auto;
  padding: 1rem;
  width: min(716px, 100%);
}
.user-terms-main h1 {
  margin: 3rem 0 1rem;
  text-align: center;
}
.user-terms-main h2 {
  font: 500 1.1rem "Customfont";
}
.user-terms-main time {
  font: inherit;
}
.user-terms-main ul {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  list-style: inside;
  margin-top: 0.5rem;
}
.user-terms-main strong {
  font-weight: 400;
}
.user-terms-main address {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin-top: 0.5rem;
}
.user-terms-main address p, .user-terms-main address .number-of-devices-label {
  display: flex;
  flex-direction: row;
  gap: 1ch;
}

.user-terms-time-container {
  display: flex;
  flex-direction: row;
  gap: 0.5rem;
  font: 700 1rem "Customfont";
}

address {
  font-style: normal;
}

html:has(body.fs-body) {
  font-size: min(1.2962955761vw, 14px);
}

.fs-body .modal .content-modal {
  max-width: min(50rem, 100vw - 2rem);
}

.fs-body {
  --fs-ink: #0A0A0A;
  --fs-paper: #FFFFFF;
  --fs-cream: #F4F1EA;
  --fs-mute: #8A8A8A;
  --fs-rec: #E0251A;
  --fs-gold: #C9A961;
  --fs-t-display: 10.5714rem;
  --fs-t-h1: 6.8571rem;
  --fs-t-h2: 4.5714rem;
  --fs-t-h3: 3rem;
  --fs-t-body: 2rem;
  --fs-t-label: 1.5714rem;
  --fs-t-mini: 1.1429rem;
  --fs-t-tc: 1.4286rem;
  --fs-font-ui: "Archivo", system-ui, -apple-system, sans-serif;
  --fs-font-mono: "JetBrains Mono", "IBM Plex Mono", ui-monospace, monospace;
  margin: 0;
  width: 100vw;
  min-height: 100vh;
  min-height: 100dvh;
  display: grid;
  place-items: start center;
  background: var(--fs-bg, var(--fs-paper));
  font-family: var(--fs-font-ui);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.fs-stage {
  --fs-bg: var(--fs-paper);
  --fs-fg: var(--fs-ink);
  --fs-fg-soft: #555;
  --fs-rule: #1A1A1A;
  --fs-rule-soft: rgba(10, 10, 10, .18);
  --fs-accent: var(--fs-ink);
  --fs-accent-on: var(--fs-paper);
}

.fs-stage[data-theme=stage] {
  --fs-bg: var(--fs-ink);
  --fs-fg: var(--fs-paper);
  --fs-fg-soft: #b8b8b8;
  --fs-rule: var(--fs-paper);
  --fs-rule-soft: rgba(255, 255, 255, .22);
  --fs-accent: var(--fs-paper);
  --fs-accent-on: var(--fs-ink);
}

.fs-stage {
  position: relative;
  width: 77.1429rem;
  min-height: 100vh;
  min-height: 100dvh;
  background: var(--fs-bg);
  color: var(--fs-fg);
  transform-origin: center center;
  --fs-kb-shift: 0px;
  transform: translateY(var(--fs-kb-shift));
  transition: background 0.25s ease, color 0.25s ease, transform 0.2s ease;
}

* {
  box-sizing: border-box;
}

.fs-header {
  height: 6.8571rem;
  padding: 0 5.7143rem;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  border-bottom: 0.1429rem solid var(--fs-rule);
  background: var(--fs-bg);
}

.fs-header-left, .fs-header-right {
  display: flex;
  align-items: center;
  gap: 1rem;
  white-space: nowrap;
}

.fs-header-left {
  justify-self: start;
}

.fs-header-right {
  justify-self: end;
}

.fs-rec-dot {
  width: 1rem;
  height: 1rem;
  border-radius: 50%;
  background: var(--fs-rec);
  box-shadow: 0 0 0.8571rem var(--fs-rec);
  animation: fs-rec-blink 1.6s infinite;
  display: inline-block;
}

.fs-rec-dot--sm {
  width: 0.5714rem;
  height: 0.5714rem;
  box-shadow: 0 0 0.4286rem var(--fs-rec);
}

@keyframes fs-rec-blink {
  0%, 60% {
    opacity: 1;
  }
  70%, 100% {
    opacity: 0.3;
  }
}
.fs-mono {
  font-family: var(--fs-font-mono);
  font-weight: 500;
  font-size: var(--fs-t-tc);
  letter-spacing: 0.12em;
  font-variant-numeric: tabular-nums;
}

.fs-mono-clock {
  font-size: 1.2857rem;
}

.fs-mono--xxs {
  font-size: 0.9286rem;
  letter-spacing: 0.18em;
  opacity: 0.55;
}

.fs-mono--xs {
  font-size: 1.1429rem;
  letter-spacing: 0.14em;
}

.fs-mono--meta {
  font-size: 1.2857rem;
  letter-spacing: 0.14em;
  opacity: 0.55;
}

.fs-logo {
  display: inline-block;
  width: auto;
  object-fit: contain;
}

.fs-logo--sm {
  height: 5rem;
}

.fs-logo--lg {
  height: 18.2857rem;
  margin-top: -100px;
}

.fs-chevron {
  display: inline-block;
  background: currentColor;
  flex-shrink: 0;
}

.fs-chevron--l {
  width: 1.2857rem;
  height: 2.5714rem;
  clip-path: polygon(100% 0, 100% 19%, 38% 50%, 100% 81%, 100% 100%, 0 50%);
}

.fs-chevron--r {
  width: 1.2857rem;
  height: 2.5714rem;
  clip-path: polygon(0 0, 0 19%, 62% 50%, 0 81%, 0 100%, 100% 50%);
}

.fs-chevron--inline {
  width: 2.2857rem;
  height: 5.5714rem;
  vertical-align: middle;
  margin: 0 0.4286rem;
}

.fs-progress {
  display: flex;
  gap: 0.4286rem;
  padding: 1.2857rem 5.7143rem;
  border-bottom: 0.0714rem solid var(--fs-rule-soft);
  background: var(--fs-bg);
}

.fs-progress-seg {
  flex: 1;
  height: 0.4286rem;
  background: var(--fs-rule-soft);
}
.fs-progress-seg.fs-progress-seg--active, .fs-progress-seg.fs-progress-seg--done {
  background: var(--fs-fg);
}

.fs-screen {
  position: absolute;
  left: 0;
  right: 0;
  top: 9.8571rem;
  bottom: 0;
  display: none;
  background: var(--fs-bg);
  color: var(--fs-fg);
}

.fs-screen--active {
  display: block;
}

.fs-pad {
  padding: 3.5714rem 5.7143rem;
  height: 100%;
  display: flex;
  flex-direction: column;
}

.fs-footer {
  margin-top: auto;
  padding: 2rem 0 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: var(--fs-fg);
  font-size: 1.1429rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-weight: 600;
  opacity: 0.55;
  flex-shrink: 0;
}

.fs-footer-icon {
  width: 1.5714rem;
  height: 1.5714rem;
  vertical-align: middle;
  margin-right: 0.4286rem;
}

.fs-footer-warning {
  font-weight: 700;
  letter-spacing: 0.18em;
  opacity: 0.85;
}

.fs-top-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1.7143rem;
  gap: 1.1429rem;
  flex-wrap: wrap;
}

.fs-top-row-meta {
  display: flex;
  gap: 1rem;
  align-items: center;
  flex-wrap: wrap;
}

.fs-page-title-row {
  display: flex;
  gap: 1.2857rem;
  align-items: center;
  margin-bottom: 2.2857rem;
  justify-content: flex-start;
  flex-wrap: wrap;
}
.fs-page-title-row.fs-page-title-row--right {
  justify-content: flex-end;
}

.fs-slate {
  display: inline-flex;
  align-items: stretch;
  border: 0.1429rem solid var(--fs-fg);
  font-family: var(--fs-font-mono);
  font-size: 1rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  height: 3.1429rem;
  overflow: hidden;
}
.fs-slate > span {
  display: flex;
  align-items: center;
  padding: 0 1rem;
}
.fs-slate > span + span {
  border-left: 0.1429rem solid var(--fs-fg);
}
.fs-slate .fs-slate-k {
  opacity: 0.55;
}
.fs-slate .fs-slate-v {
  font-weight: 700;
}
.fs-slate.fs-slate--solid {
  background: var(--fs-fg);
  color: var(--fs-bg);
}

.fs-kicker {
  font-family: var(--fs-font-ui);
  font-weight: 600;
  font-size: 1.1429rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  opacity: 0.6;
}

.fs-page-h1 {
  font-family: var(--fs-font-ui);
  font-weight: 900;
  font-size: 6.8571rem;
  line-height: 0.94;
  letter-spacing: -0.035em;
  margin: 0 0 1.2857rem;
  text-wrap: balance;
}
.fs-page-h1.fs-page-h1--lead {
  font-size: 6.2857rem;
}
.fs-page-h1.fs-page-h1--two-line {
  margin-bottom: 1.2857rem;
}
.fs-page-h1.fs-page-h1--expression {
  font-size: 6rem;
}
.fs-page-h1.fs-page-h1--capture {
  font-size: 2.7143rem;
  margin-bottom: 0.4286rem;
}
.fs-page-h1.fs-page-h1--approval {
  font-size: 5.1429rem;
  line-height: 0.95;
  margin-bottom: 0.4286rem;
}

.fs-page-sub {
  font-family: var(--fs-font-ui);
  font-weight: 500;
  font-size: 2rem;
  line-height: 1.3;
  opacity: 0.7;
  max-width: 58.5714rem;
  margin: 0;
}
.fs-page-sub.fs-page-sub--approval {
  font-size: 1.5714rem;
  margin-bottom: 1.7143rem;
}

.fs-inline-bracketed {
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  white-space: nowrap;
  vertical-align: middle;
}

.fs-t-label {
  font-family: var(--fs-font-ui);
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}
.fs-t-label.fs-t-label--sm {
  font-size: 1.1429rem;
}

.fs-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 1.2857rem;
  font-family: var(--fs-font-ui);
  font-weight: 800;
  font-size: 2rem;
  letter-spacing: -0.01em;
  padding: 1.5714rem 2.5714rem;
  border: 0;
  cursor: pointer;
  user-select: none;
  transition: opacity 0.15s ease, transform 0.05s ease;
  min-height: 6.8571rem;
  text-decoration: none;
}
.fs-btn:active {
  transform: translateY(0.1429rem);
}
.fs-btn:disabled {
  opacity: 0.35;
  cursor: not-allowed;
}

.fs-btn--primary {
  background: var(--fs-fg);
  color: var(--fs-bg);
}

.fs-btn--ghost {
  background: transparent;
  color: var(--fs-fg);
  border: 0.1429rem solid var(--fs-fg);
}

.fs-btn--lg {
  font-size: 2.5714rem;
  padding: 2.5714rem 3.4286rem;
  min-height: 8.5714rem;
}

.fs-btn--chip {
  font-size: 1.2857rem;
  padding: 0.8571rem 1.5714rem;
  min-height: 4rem;
  gap: 0.8571rem;
  border: 0.1429rem solid var(--fs-fg);
  background: transparent;
  color: var(--fs-fg);
}

.fs-btn--start {
  font-size: 3.1429rem;
  padding: 3.1429rem 4.5714rem;
  min-height: 11.4286rem;
  min-width: 38.5714rem;
  background: var(--fs-fg);
  color: var(--fs-bg);
}

.fs-btn--approve {
  font-size: 2.4286rem;
  padding: 1.7143rem 2.2857rem;
  flex: 1;
  min-height: 0;
  gap: 1.2857rem;
}

.fs-btn--approval-ghost {
  font-size: 1.5714rem;
  padding: 1.1429rem 1.5714rem;
  min-height: 5.1429rem;
  justify-content: flex-start;
  gap: 1rem;
}

.fs-btn--reset {
  min-height: 4.8571rem;
  font-size: 1.3571rem;
  padding: 1.2857rem 1.7143rem;
}

.fs-icon {
  display: block;
  flex-shrink: 0;
}

.fs-icon-svg {
  display: inline-block;
  width: 2.2857rem;
  height: 2.2857rem;
  background-color: currentColor;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
}

.fs-icon-svg--lg {
  width: 2.8571rem;
  height: 2.8571rem;
}

.fs-icon-svg--xl {
  width: 4rem;
  height: 4rem;
}

.fs-icon-svg--sm {
  width: 1.7143rem;
  height: 1.7143rem;
}

.fs-icon-svg--arrow-right {
  -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 64 64%27><path d=%27M14 32h36M34 14l16 18-16 18%27 stroke=%27black%27 stroke-width=%274%27 fill=%27none%27/></svg>");
  mask-image: url("data:image/svg+xml;utf8,<svg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 64 64%27><path d=%27M14 32h36M34 14l16 18-16 18%27 stroke=%27black%27 stroke-width=%274%27 fill=%27none%27/></svg>");
}

.fs-icon-svg--arrow-left {
  -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 64 64%27><path d=%27M50 32H14M30 14L14 32l16 18%27 stroke=%27black%27 stroke-width=%274%27 fill=%27none%27/></svg>");
  mask-image: url("data:image/svg+xml;utf8,<svg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 64 64%27><path d=%27M50 32H14M30 14L14 32l16 18%27 stroke=%27black%27 stroke-width=%274%27 fill=%27none%27/></svg>");
}

.fs-icon-svg--camera {
  -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 64 64%27><circle cx=%2732%27 cy=%2732%27 r=%2710%27 fill=%27black%27/><rect x=%276%27 y=%2714%27 width=%2752%27 height=%2740%27 fill=%27none%27 stroke=%27black%27 stroke-width=%274%27/><rect x=%2722%27 y=%278%27 width=%2720%27 height=%276%27 fill=%27black%27/></svg>");
  mask-image: url("data:image/svg+xml;utf8,<svg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 64 64%27><circle cx=%2732%27 cy=%2732%27 r=%2710%27 fill=%27black%27/><rect x=%276%27 y=%2714%27 width=%2752%27 height=%2740%27 fill=%27none%27 stroke=%27black%27 stroke-width=%274%27/><rect x=%2722%27 y=%278%27 width=%2720%27 height=%276%27 fill=%27black%27/></svg>");
}

.fs-tile {
  background: var(--fs-bg);
  color: var(--fs-fg);
  border: 0.2143rem solid var(--fs-fg);
  padding: 2.5714rem;
  cursor: pointer;
  text-align: left;
  font: inherit;
  position: relative;
  transition: background 0.12s ease, color 0.12s ease, transform 0.05s ease;
  display: flex;
  flex-direction: column;
  gap: 1.1429rem;
  min-height: 15.7143rem;
}
.fs-tile:active {
  transform: translateY(0.1429rem);
}
.fs-tile.fs-tile--selected, .fs-tile:hover {
  background: var(--fs-fg);
  color: var(--fs-bg);
}

.fs-tile-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 0.8571rem;
}

.fs-tile-num {
  font-family: var(--fs-font-mono);
  font-size: 1.1429rem;
  letter-spacing: 0.14em;
  opacity: 0.6;
  font-weight: 700;
}
.fs-tile-num.fs-tile-num--xs {
  font-size: 1rem;
  letter-spacing: 0.18em;
}

.fs-tile-title {
  font-size: 2.7143rem;
  font-weight: 900;
  letter-spacing: -0.02em;
  line-height: 1;
}
.fs-tile-title.fs-tile-title--sm {
  font-size: 2.2857rem;
  line-height: 1.05;
}

.fs-tile-sub {
  font-size: 1.5714rem;
  font-weight: 400;
  line-height: 1.3;
  margin-top: auto;
}
.fs-tile-sub.fs-tile-sub--sm {
  font-size: 1.2857rem;
  line-height: 1.25;
}

.fs-tile-label-mono {
  font-family: var(--fs-font-mono);
  font-size: 1rem;
  letter-spacing: 0.18em;
  opacity: 0.5;
}

.fs-tile--modifier {
  cursor: default;
  pointer-events: none;
  background: transparent;
  border: 0.1429rem dashed var(--fs-fg);
  justify-content: center;
  text-align: left;
  grid-column: 1/-1;
  min-height: 0;
  padding: 1.5714rem 2.5714rem;
}

.fs-modifier-text {
  font-size: 1.5714rem;
  font-weight: 700;
  line-height: 1.25;
  margin-top: 0.5714rem;
}

.fs-genre-grid,
.fs-title-grid,
.fs-expression-screen-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.7143rem;
  margin-top: 2.8571rem;
}

.fs-genre-grid {
  gap: 2rem;
  margin-top: 4rem;
}

.fs-title-grid {
  gap: 1.7143rem;
  margin-top: 4rem;
}

.fs-expression-screen-grid {
  gap: 1.7143rem;
  margin-top: 3.4286rem;
}

.fs-screen-genre .fs-pad,
.fs-screen-title .fs-pad,
.fs-screen-expression .fs-pad,
.fs-screen-generating .fs-pad {
  padding-bottom: 5.7143rem;
}

.fs-title-tile {
  min-height: 17.1429rem;
}
.fs-title-tile .fs-tile-title {
  font-size: 3.1429rem;
  line-height: 1.02;
}

.fs-title-tile-tagline {
  font-style: italic;
  border-top: 0.1429rem solid currentColor;
  padding-top: 1rem;
  margin-top: 1rem;
}

.fs-expression-tile {
  min-height: 17.1429rem;
}
.fs-expression-tile .fs-expression-tile-title {
  font-size: 3.1429rem;
  line-height: 1;
}
.fs-expression-tile .fs-expression-tile-code {
  font-size: 1rem;
  letter-spacing: 0.18em;
  opacity: 0.5;
  margin-top: 0;
}

.fs-mini-badge {
  font-family: var(--fs-font-mono);
  font-size: 0.7857rem;
  letter-spacing: 0.18em;
  padding: 0.2857rem 0.5714rem;
  border: 0.1071rem dashed currentColor;
  opacity: 0.7;
  white-space: nowrap;
  text-transform: uppercase;
}

.fs-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3.4286rem;
  margin-top: 3.4286rem;
}

.fs-field {
  display: grid;
  gap: 0.8571rem;
}
.fs-field.fs-field--full {
  grid-column: 1/-1;
}
.fs-field > label {
  font-family: var(--fs-font-ui);
  font-size: 1.5714rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.fs-input {
  width: 100%;
  background: transparent;
  appearance: none;
  -webkit-appearance: none;
  border-radius: 0;
  border: 0;
  border-bottom: 0.2143rem solid var(--fs-fg);
  padding: 1rem 0 1.1429rem;
  font-size: 2.5714rem;
  font-weight: 600;
  color: var(--fs-fg);
  outline: none;
  font-family: var(--fs-font-ui);
}
.fs-input::placeholder {
  color: var(--fs-fg-soft);
  font-weight: 400;
}
.fs-input:focus {
  border-color: var(--fs-accent);
}

.fs-interest-block {
  margin-top: 4rem;
}

.fs-interest-header {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 1.7143rem;
  gap: 0.8571rem;
  flex-wrap: wrap;
}

.fs-interest-heading {
  font-family: var(--fs-font-ui);
  font-weight: 800;
  font-size: 2.5714rem;
  letter-spacing: -0.02em;
  margin: 0;
  line-height: 1;
}

.fs-interest-meta {
  font-size: 1rem;
  letter-spacing: 0.18em;
  opacity: 0.55;
}

.fs-interest-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.1429rem;
}

.fs-interest-tile {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 1rem;
  padding: 1.5714rem 1.8571rem;
  min-height: 10.8571rem;
  border: 0.1429rem solid var(--fs-fg);
  cursor: pointer;
  transition: background 0.12s ease, color 0.12s ease;
  position: relative;
}
.fs-interest-tile.fs-tile--selected {
  background: var(--fs-fg);
  color: var(--fs-bg);
}

.fs-interest-tile-input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
  width: 0.0714rem;
  height: 0.0714rem;
  margin: -0.0714rem;
}

.fs-interest-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 0.8571rem;
}

.fs-interest-num {
  opacity: 0.55;
}

.fs-interest-label {
  font-size: 2.1429rem;
  font-weight: 800;
  letter-spacing: -0.01em;
  line-height: 1.1;
  margin-top: auto;
}

.fs-lgpd-block {
  margin-top: 3.4286rem;
  padding: 2rem 2.2857rem;
  border: 0.1429rem solid var(--fs-fg);
}

.fs-lgpd-link {
  font-weight: 700;
  text-decoration: underline;
  cursor: pointer;
}

.fs-lgpd-link:hover {
  opacity: 0.7;
}

.modal-lgpd .content-modal,
.modal-term-18 .content-modal,
.modal-term-under18 .content-modal {
  transform: none;
  top: auto;
  margin: 2rem auto;
  max-height: calc(100vh - 4rem);
  overflow-y: auto;
}

.modal-lgpd .modal-lgpd-main-content {
  font-family: var(--fs-font-ui);
  font-size: 1.4286rem;
  line-height: 1.45;
  color: var(--fs-ink);
}
.modal-lgpd .modal-lgpd-main-content h3 {
  font-family: var(--fs-font-ui);
  font-weight: 900;
  font-size: 2.2857rem;
  letter-spacing: -0.02em;
  line-height: 1.1;
  margin: 0 0 1.2857rem;
}
.modal-lgpd .modal-lgpd-main-content p, .modal-lgpd .modal-lgpd-main-content .number-of-devices-label {
  margin: 0 0 1rem;
}
.modal-lgpd .modal-lgpd-main-content ul {
  margin: 0 0 1rem;
  padding-left: 1.7143rem;
}
.modal-lgpd .modal-lgpd-main-content li {
  margin-bottom: 0.5714rem;
}

.modal-lgpd-button-container {
  display: flex;
  justify-content: flex-end;
  gap: 1.1429rem;
  margin-top: 1.7143rem;
  flex-wrap: wrap;
}

.modal-lgpd-btn {
  font-family: var(--fs-font-ui);
  font-size: 1.2857rem;
  font-weight: 700;
  letter-spacing: -0.01em;
  padding: 1rem 2rem;
  min-width: 11.4286rem;
  border: 0.1429rem solid var(--fs-ink);
  cursor: pointer;
  transition: opacity 0.15s ease, transform 0.05s ease;
}
.modal-lgpd-btn:active {
  transform: translateY(0.0714rem);
}

.modal-lgpd-btn--ghost {
  background: transparent;
  color: var(--fs-ink);
}

.modal-lgpd-btn--primary {
  background: var(--fs-ink);
  color: var(--fs-paper);
}

.fs-check {
  display: flex;
  gap: 1.2857rem;
  align-items: flex-start;
  font-size: 1.5714rem;
  font-weight: 400;
  line-height: 1.4;
  cursor: pointer;
  font-family: var(--fs-font-ui);
}
.fs-check > input {
  appearance: none;
  width: 2.5714rem;
  height: 2.5714rem;
  border: 0.2143rem solid var(--fs-fg);
  flex-shrink: 0;
  position: relative;
  margin-top: 0.1429rem;
  cursor: pointer;
}
.fs-check > input:checked {
  background: var(--fs-fg);
}
.fs-check > input:checked::after {
  content: "";
  position: absolute;
  left: 0.5714rem;
  top: 0.1429rem;
  width: 0.8571rem;
  height: 1.5714rem;
  border: solid var(--fs-bg);
  border-width: 0 0.2857rem 0.2857rem 0;
  transform: rotate(45deg);
}

.fs-row-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 4rem;
}
.fs-row-bottom.fs-row-bottom--cta-only {
  justify-content: flex-end;
}

.fs-lead-id {
  font-size: 1.2857rem;
  opacity: 0.5;
}

.fs-bottom-bar {
  margin-top: auto;
  display: flex;
  flex-direction: column;
}

.fs-lead-panel {
  display: none;
}

.fs-lead-panel--active {
  display: block;
}

.fs-advance-row {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 1.7143rem;
}

.fs-screen-start-inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  flex: 1;
  gap: 0;
}

.fs-start-headline {
  font-family: var(--fs-font-ui);
  font-weight: 900;
  font-size: 8rem;
  line-height: 0.94;
  letter-spacing: -0.045em;
  margin: 4.5714rem 0 2.5714rem;
  text-wrap: balance;
}

.fs-start-sub {
  font-family: var(--fs-font-ui);
  font-size: 2.5714rem;
  font-weight: 500;
  line-height: 1.25;
  opacity: 0.8;
  max-width: 58.5714rem;
  margin: 0 0 6.8571rem;
}

.fs-start-meta {
  font-size: 1.1429rem;
  letter-spacing: 0.18em;
  opacity: 0.45;
  margin-top: 4.5714rem;
}

.fs-screen-capture .fs-top-row {
  margin-bottom: 1rem;
}
.fs-screen-capture .fs-advance-row--capture {
  margin-bottom: 1rem;
}

.fs-capture-stage {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: safe center;
  margin-bottom: 1rem;
  flex: 1;
  min-height: 0;
  --fs-viewfinder-h: min(50dvh, 68rem);
}

.fs-screen-capture .fs-page-sub {
  font-size: 1.4286rem;
  line-height: 1.25;
  margin-bottom: 0;
}

.fs-viewfinder {
  position: relative;
  height: var(--fs-viewfinder-h);
  width: auto;
  max-width: 100%;
  aspect-ratio: 3/4;
  background: var(--fs-ink);
  overflow: hidden;
  border: 0.2143rem solid var(--fs-fg);
}

.fs-viewfinder-video,
.fs-viewfinder-canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scaleX(-1);
}

.fs-hidden {
  display: none !important;
}

.fs-photo-ph {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, #383838 0%, #161616 100%);
}

.fs-photo-ph::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(45% 35% at 50% 40%, rgba(255, 255, 255, 0.15), transparent 70%), radial-gradient(60% 50% at 50% 95%, rgba(0, 0, 0, 0.7), transparent 60%);
}

.fs-photo-ph::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 70%;
  height: 80%;
  transform: translateX(-50%);
  background: radial-gradient(28% 22% at 50% 24%, #e6d4bf 0%, #b89c80 65%, #6b5640 92%, transparent 100%), radial-gradient(45% 50% at 50% 86%, #2f2b27 0%, #1a1815 70%, transparent 100%);
  filter: contrast(1.08);
}

.fs-viewfinder-frame {
  position: absolute;
  inset: 6%;
  border: 0.1429rem dashed rgba(255, 255, 255, 0.55);
  pointer-events: none;
}

.fs-corner {
  position: absolute;
  width: 4.5714rem;
  height: 4.5714rem;
  pointer-events: none;
}
.fs-corner.fs-corner--tl {
  top: 0;
  left: 0;
  border-top: 0.2857rem solid #fff;
  border-left: 0.2857rem solid #fff;
}
.fs-corner.fs-corner--tr {
  top: 0;
  right: 0;
  border-top: 0.2857rem solid #fff;
  border-right: 0.2857rem solid #fff;
}
.fs-corner.fs-corner--bl {
  bottom: 0;
  left: 0;
  border-bottom: 0.2857rem solid #fff;
  border-left: 0.2857rem solid #fff;
}
.fs-corner.fs-corner--br {
  bottom: 0;
  right: 0;
  border-bottom: 0.2857rem solid #fff;
  border-right: 0.2857rem solid #fff;
}

.fs-viewfinder-hud,
.fs-viewfinder-hud-bottom {
  position: absolute;
  left: 1.4286rem;
  right: 1.4286rem;
  display: flex;
  justify-content: space-between;
  color: #fff;
  font-family: var(--fs-font-mono);
  font-size: 1.1429rem;
  letter-spacing: 0.12em;
  pointer-events: none;
}

.fs-viewfinder-hud {
  top: 1.4286rem;
  font-size: 1.2857rem;
}

.fs-viewfinder-hud-bottom {
  bottom: 1.4286rem;
}

.fs-viewfinder-hud-left {
  display: flex;
  gap: 0.7143rem;
  align-items: center;
}

.fs-viewfinder-countdown {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);
  display: grid;
  place-items: center;
  color: #fff;
}

.fs-bignum {
  font-family: var(--fs-font-ui);
  font-weight: 900;
  font-size: 25.7143rem;
  line-height: 0.85;
  letter-spacing: -0.06em;
}

.fs-viewfinder-stamp {
  position: absolute;
  bottom: 1.4286rem;
  left: 1.4286rem;
  right: 1.4286rem;
  display: flex;
  justify-content: space-between;
  color: #fff;
}

.fs-capture-context {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.4286rem;
  margin-top: 2rem;
  width: calc(var(--fs-viewfinder-h) * 3 / 4);
  max-width: 100%;
}

.fs-capture-context-card {
  border: 0.1429rem solid var(--fs-fg);
  padding: 1.2857rem 1.7143rem;
}

.fs-capture-context-title {
  font-size: 1.5714rem;
  font-weight: 800;
  margin-top: 0.2857rem;
  line-height: 1.1;
}

.fs-capture-cta-cluster {
  display: flex;
  gap: 1.1429rem;
  align-items: center;
  justify-content: flex-end;
  flex: 1;
}
.fs-capture-cta-cluster.fs-capture-cta-cluster--split {
  justify-content: space-between;
}

.fs-generating-headline {
  font-size: 6.8571rem;
  line-height: 0.96;
  margin-bottom: 2.2857rem;
}

.fs-underline-accent {
  border-bottom: 0.4286rem solid var(--fs-accent);
}

.fs-generating-sub {
  font-family: var(--fs-font-ui);
  font-weight: 400;
  font-size: 1.8571rem;
  max-width: 58.5714rem;
  opacity: 0.72;
  margin-bottom: 4.5714rem;
  line-height: 1.4;
}

.fs-generating-hero {
  display: grid;
  grid-template-columns: 30rem 1fr;
  gap: 3.4286rem;
  align-items: center;
  margin-bottom: 4rem;
}

.fs-progress-hero {
  position: relative;
  width: 30rem;
  height: 30rem;
  display: grid;
  place-items: center;
}

.fs-progress-hero-svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.fs-progress-hero-brackets {
  position: absolute;
  inset: 2.5714rem;
  pointer-events: none;
}
.fs-progress-hero-brackets .fs-corner {
  width: 2rem;
  height: 2rem;
  opacity: 0.55;
}
.fs-progress-hero-brackets .fs-corner.fs-corner--tl,
.fs-progress-hero-brackets .fs-corner.fs-corner--tr,
.fs-progress-hero-brackets .fs-corner.fs-corner--bl,
.fs-progress-hero-brackets .fs-corner.fs-corner--br {
  border-color: currentColor;
  border-width: 0.2143rem;
}

.fs-progress-hero-stack {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  position: relative;
  z-index: 1;
}

.fs-progress-hero-label {
  font-size: 0.9286rem;
  letter-spacing: 0.24em;
  opacity: 0.55;
  font-weight: 700;
}

.fs-progress-hero-num {
  font-family: var(--fs-font-ui);
  font-weight: 900;
  font-size: 14.8571rem;
  letter-spacing: -0.07em;
  line-height: 0.85;
  font-variant-numeric: tabular-nums;
  display: flex;
  align-items: flex-start;
  gap: 0.1429rem;
}
.fs-progress-hero-num > span:first-child {
  min-width: 1.5ch;
  text-align: right;
}

.fs-progress-hero-pct {
  font-size: 5.1429rem;
  opacity: 0.5;
  font-weight: 700;
  margin-top: 2rem;
}

.fs-progress-hero-frame {
  font-size: 1rem;
  letter-spacing: 0.22em;
  opacity: 0.6;
  font-weight: 700;
  display: flex;
  gap: 1rem;
  align-items: center;
}

.fs-progress-hero-frame-sep {
  opacity: 0.4;
}

.fs-progress-hero-frame-total {
  opacity: 0.5;
}

.fs-generating-phase {
  display: flex;
  flex-direction: column;
  gap: 1.2857rem;
}

.fs-phase-title {
  font-family: var(--fs-font-ui);
  font-weight: 800;
  font-size: 4rem;
  line-height: 0.96;
  text-wrap: balance;
}

.fs-phase-strip {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 0.5714rem;
  margin-top: 1rem;
}

.fs-phase-cell {
  display: flex;
  flex-direction: column;
  gap: 0.5714rem;
}

.fs-phase-cell-bar {
  position: relative;
  height: 2.2857rem;
  background: var(--fs-rule-soft);
  overflow: hidden;
}
.fs-phase-cell-bar .fs-phase-cell-fill {
  position: absolute;
  inset: 0;
  background: var(--fs-fg);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.15s ease;
}
.fs-phase-cell-bar .fs-phase-cell-sprocket {
  position: absolute;
  width: 0.5714rem;
  height: 0.2857rem;
  background: var(--fs-bg);
  opacity: 0.25;
}
.fs-phase-cell-bar .fs-phase-cell-sprocket.fs-phase-cell-sprocket--tl {
  top: 0.2857rem;
  left: 0.4286rem;
}
.fs-phase-cell-bar .fs-phase-cell-sprocket.fs-phase-cell-sprocket--tr {
  top: 0.2857rem;
  right: 0.4286rem;
}
.fs-phase-cell-bar .fs-phase-cell-sprocket.fs-phase-cell-sprocket--bl {
  bottom: 0.2857rem;
  left: 0.4286rem;
}
.fs-phase-cell-bar .fs-phase-cell-sprocket.fs-phase-cell-sprocket--br {
  bottom: 0.2857rem;
  right: 0.4286rem;
}

.fs-phase-cell--done .fs-phase-cell-bar {
  background: var(--fs-fg);
}

.fs-phase-cell--done .fs-phase-cell-sprocket,
.fs-phase-cell--active .fs-phase-cell-sprocket {
  opacity: 1;
}

.fs-phase-cell--active .fs-phase-cell-fill {
  transform: scaleX(var(--fs-phase-fill, 0));
}

.fs-phase-cell-tag {
  font-size: 0.7857rem;
  letter-spacing: 0.16em;
  font-weight: 700;
  opacity: 0.35;
}

.fs-phase-cell--done .fs-phase-cell-tag,
.fs-phase-cell--active .fs-phase-cell-tag {
  opacity: 0.85;
}

.fs-generating-status {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 0.7143rem;
  padding-top: 0.8571rem;
  border-top: 0.0714rem solid var(--fs-rule-soft);
  font-size: 1rem;
  letter-spacing: 0.18em;
  opacity: 0.55;
}

.fs-generating-ai {
  display: flex;
  align-items: center;
  gap: 0.7143rem;
}

.fs-didyouknow {
  padding: 2.5714rem 2.8571rem;
  border: 0.2143rem solid var(--fs-fg);
  display: flex;
  gap: 2rem;
  align-items: flex-start;
}

.fs-didyouknow-label {
  font-size: 1.1429rem;
  letter-spacing: 0.18em;
  opacity: 0.6;
  white-space: nowrap;
  padding-top: 0.5714rem;
}

.fs-didyouknow-body {
  font-family: var(--fs-font-ui);
  font-weight: 700;
  font-size: 2.2857rem;
  line-height: 1.2;
  margin: 0;
}

.fs-didyouknow-quote {
  opacity: 0.55;
}

.fs-approval-header {
  display: flex;
  gap: 1.2857rem;
  align-items: center;
  margin-bottom: 1.2857rem;
  justify-content: space-between;
}

.fs-approval-meta {
  font-size: 1.0714rem;
  letter-spacing: 0.14em;
  opacity: 0.55;
}

.fs-approval-zone1 {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 2rem;
  align-items: stretch;
  margin-bottom: 1.5714rem;
  --fs-poster-h: min(46dvh, 60rem);
}

.fs-poster-wrap {
  width: calc(var(--fs-poster-h) * 2 / 3);
  position: relative;
}

.fs-poster {
  width: 100%;
  aspect-ratio: 2/3;
  position: relative;
  overflow: hidden;
  background: #111;
  box-shadow: 0 2.1429rem 4.2857rem rgba(0, 0, 0, 0.5), 0 0 0 0.0714rem rgba(255, 255, 255, 0.08);
}
.fs-poster[data-genre=acao] {
  background: radial-gradient(80% 60% at 50% 35%, #fb7c2a 0%, #7a0f0a 60%, #1a0303 100%);
}
.fs-poster[data-genre=drama] {
  background: radial-gradient(70% 60% at 50% 30%, #5d6a7a 0%, #1a2030 70%, #060709 100%);
}
.fs-poster[data-genre=terror] {
  background: radial-gradient(70% 60% at 50% 30%, #4a0a0a 0%, #0a0203 70%, #000 100%);
}
.fs-poster[data-genre=ficcao] {
  background: radial-gradient(80% 70% at 50% 30%, #6a4fff 0%, #0e1a4a 60%, #02061c 100%);
}
.fs-poster[data-genre=comedia] {
  background: radial-gradient(80% 60% at 50% 30%, #ffd84a 0%, #ff6b8a 60%, #a0125d 100%);
}
.fs-poster[data-genre=novela] {
  background: radial-gradient(80% 60% at 50% 30%, #f6c690 0%, #b06a3c 60%, #3a1e10 100%);
}

.fs-poster-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  background: transparent;
}
.fs-poster-img:not([src]) {
  display: none;
}

.fs-master-tape {
  position: absolute;
  top: -0.8571rem;
  left: 1.7143rem;
  width: 6.8571rem;
  height: 2rem;
  background: var(--fs-fg);
  color: var(--fs-bg);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--fs-font-mono);
  font-size: 0.8571rem;
  letter-spacing: 0.22em;
  font-weight: 700;
  z-index: 2;
}

.fs-approval-side {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.fs-summary-box {
  border: 0.2143rem solid var(--fs-fg);
  padding: 1.2857rem 1.5714rem;
}

.fs-summary-label {
  font-size: 0.9286rem;
  letter-spacing: 0.18em;
  opacity: 0.55;
  margin-bottom: 0.7143rem;
}

.fs-summary-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 1.1429rem;
  font-family: var(--fs-font-ui);
}

.fs-summary-k {
  padding: 0.5714rem 0;
  opacity: 0.55;
  width: 7.1429rem;
  font-weight: 600;
  font-size: 0.8571rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  vertical-align: top;
}

.fs-summary-v {
  padding: 0.5714rem 0;
  font-weight: 700;
}

.fs-summary-table tr {
  border-bottom: 0.0714rem solid var(--fs-rule-soft);
}

.fs-tagline-callout {
  border: 0.2143rem solid var(--fs-fg);
  padding: 1.5714rem 1.7143rem;
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 1rem;
}

.fs-tagline-quote {
  font-family: var(--fs-font-ui);
  font-size: 2.2857rem;
  line-height: 1.1;
  font-weight: 500;
  font-style: italic;
  letter-spacing: -0.01em;
  margin: 0;
}

.fs-tagline-quote-mark {
  opacity: 0.4;
  font-style: normal;
}

.fs-tagline-footer {
  font-size: 0.8571rem;
  letter-spacing: 0.14em;
  opacity: 0.45;
  display: flex;
  justify-content: space-between;
}

.fs-approval-hint {
  display: flex;
  gap: 0.7143rem;
  align-items: center;
  padding-top: 0.2857rem;
  font-size: 0.9286rem;
  letter-spacing: 0.14em;
  opacity: 0.7;
}

.fs-approval-hint-dot {
  width: 0.5714rem;
  height: 0.5714rem;
  background: var(--fs-fg);
  border-radius: 50%;
  display: inline-block;
}

.fs-approval-zone2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.4286rem;
  align-items: stretch;
}

.fs-qr-card {
  border: 0.2143rem solid var(--fs-fg);
  padding: 1.5714rem;
  display: grid;
  grid-template-columns: 14.2857rem 1fr;
  gap: 1.5714rem;
  align-items: center;
  min-width: 0;
}

.fs-qr-image {
  width: 14.2857rem;
  height: 14.2857rem;
  object-fit: contain;
  background: var(--fs-bg);
  display: block;
}
.fs-qr-image.fs-qr-image--lg {
  width: 11.4286rem;
  height: 11.4286rem;
}

.fs-qr-card-text {
  display: flex;
  flex-direction: column;
  gap: 0.5714rem;
  min-width: 0;
}

.fs-qr-headline {
  font-size: 2.1429rem;
  font-weight: 900;
  line-height: 1;
  letter-spacing: -0.02em;
}

.fs-qr-url {
  font-size: 0.9286rem;
  opacity: 0.55;
  letter-spacing: 0.12em;
  margin-top: 0.4286rem;
  overflow-wrap: anywhere;
}

.fs-approval-cta {
  display: flex;
  flex-direction: column;
  gap: 0.8571rem;
}

.fs-manifesto {
  position: relative;
  margin-bottom: 2.8571rem;
}

.fs-manifesto-h1 {
  font-family: var(--fs-font-ui);
  font-weight: 900;
  font-size: 6.8571rem;
  line-height: 0.95;
  letter-spacing: -0.04em;
  margin: 0 0 1rem;
}

.fs-manifesto-h2 {
  font-family: var(--fs-font-ui);
  font-weight: 400;
  font-size: 6.8571rem;
  line-height: 0.95;
  letter-spacing: -0.04em;
  margin: 0;
}

.fs-manifesto-em {
  font-style: normal;
  font-weight: 900;
  border-bottom: 0.5714rem solid var(--fs-fg);
}

.fs-product-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.1429rem;
  margin-bottom: 2.2857rem;
}

.fs-product-tile {
  cursor: default;
  min-height: 0;
  padding: 1.5714rem;
  transform: none;
}
.fs-product-tile:hover {
  background: var(--fs-bg);
  color: var(--fs-fg);
}

.fs-product-name {
  font-size: 1.8571rem;
  font-weight: 900;
  letter-spacing: -0.02em;
  line-height: 1.05;
  margin-top: 0.2857rem;
}

.fs-cta-panel {
  border: 0.2143rem solid var(--fs-fg);
  padding: 2rem 2.5714rem;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 2rem;
  align-items: center;
  margin-bottom: 1.7143rem;
}

.fs-cta-headline {
  font-size: 2.5714rem;
  font-weight: 900;
  letter-spacing: -0.02em;
  line-height: 1;
  margin-bottom: 0.5714rem;
}

.fs-cta-sub {
  font-family: var(--fs-font-ui);
  font-size: 1.2857rem;
  opacity: 0.7;
  margin: 0;
}

.fs-signoff {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 1.4286rem;
  border-top: 0.1429rem solid var(--fs-rule-soft);
}

.fs-signoff-meta {
  font-size: 0.9286rem;
  letter-spacing: 0.14em;
  opacity: 0.55;
  margin-bottom: 0.2857rem;
}

.fs-signoff-name {
  font-size: 1.8571rem;
  font-weight: 800;
}

.fs-reset-counter {
  opacity: 0.5;
  margin-left: 0.5714rem;
}

.fs-age-block {
  margin-top: 3.4286rem;
  display: flex;
  flex-direction: column;
  gap: 1.7143rem;
}

.fs-age-header {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 0.8571rem;
  flex-wrap: wrap;
}

.fs-age-heading {
  font-family: var(--fs-font-ui);
  font-weight: 800;
  font-size: 2.1429rem;
  letter-spacing: -0.02em;
  margin: 0;
  line-height: 1;
}

.fs-age-meta {
  font-size: 1rem;
  letter-spacing: 0.18em;
  opacity: 0.55;
}

.fs-age-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.1429rem;
}

.fs-age-tile {
  display: flex;
  flex-direction: column;
  gap: 0.5714rem;
  padding: 1.7143rem 1.8571rem;
  border: 0.1429rem solid var(--fs-fg);
  cursor: pointer;
  transition: background 0.12s ease, color 0.12s ease;
  font-family: var(--fs-font-ui);
}
.fs-age-tile > input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
  width: 0.0714rem;
  height: 0.0714rem;
  margin: -0.0714rem;
}
.fs-age-tile:has(input:checked) {
  background: var(--fs-fg);
  color: var(--fs-bg);
}

.fs-age-tile-title {
  font-size: 1.7143rem;
  font-weight: 800;
  letter-spacing: -0.01em;
  line-height: 1.1;
}

.fs-age-tile-sub {
  font-size: 1.1429rem;
  opacity: 0.7;
  line-height: 1.3;
}

.fs-age-minor-warning {
  font-family: var(--fs-font-ui);
  font-size: 1.2857rem;
  line-height: 1.4;
  margin: 0 0 1.4286rem;
  opacity: 0.85;
}

.fs-form-grid--guardian {
  grid-template-columns: 1fr 1fr;
  gap: 1.1429rem;
  margin-bottom: 1.4286rem;
}

.fs-check--lgpd {
  margin-top: 0.5714rem;
}

.modal-term-18 .modal-lgpd-main-content,
.modal-term-under18 .modal-lgpd-main-content {
  font-family: var(--fs-font-ui);
  font-size: 1.2857rem;
  line-height: 1.5;
  color: var(--fs-ink);
}
.modal-term-18 .modal-lgpd-main-content h3,
.modal-term-under18 .modal-lgpd-main-content h3 {
  font-family: var(--fs-font-ui);
  font-weight: 900;
  font-size: 2rem;
  letter-spacing: -0.02em;
  line-height: 1.1;
  margin: 0 0 0.7143rem;
}
.modal-term-18 .modal-lgpd-main-content h4,
.modal-term-under18 .modal-lgpd-main-content h4 {
  font-family: var(--fs-font-ui);
  font-weight: 800;
  font-size: 1.4286rem;
  letter-spacing: -0.01em;
  margin: 1.4286rem 0 0.5714rem;
}
.modal-term-18 .modal-lgpd-main-content p, .modal-term-18 .modal-lgpd-main-content .number-of-devices-label,
.modal-term-under18 .modal-lgpd-main-content p,
.modal-term-under18 .modal-lgpd-main-content .number-of-devices-label {
  margin: 0 0 0.8571rem;
}
.modal-term-18 .modal-lgpd-main-content ul,
.modal-term-under18 .modal-lgpd-main-content ul {
  margin: 0 0 0.8571rem;
  padding-left: 1.5714rem;
}
.modal-term-18 .modal-lgpd-main-content li,
.modal-term-under18 .modal-lgpd-main-content li {
  margin-bottom: 0.4286rem;
}
.modal-term-18 .modal-lgpd-main-content .fs-term-meta,
.modal-term-under18 .modal-lgpd-main-content .fs-term-meta {
  font-size: 1.1429rem;
  opacity: 0.7;
  margin-bottom: 1.1429rem;
}
.modal-term-18 .modal-lgpd-main-content .fs-term-declaration,
.modal-term-under18 .modal-lgpd-main-content .fs-term-declaration {
  margin-top: 1.4286rem;
  padding: 1rem 1.1429rem;
  border-left: 0.2857rem solid var(--fs-ink);
  background: rgba(0, 0, 0, 0.04);
}

html:has(body.fs-body) {
  scrollbar-width: thin;
  scrollbar-color: var(--fs-fg, #0a0a0a) var(--fs-rule-soft, rgba(10, 10, 10, 0.18));
}

body.fs-body *,
body.fs-body *::after,
body.fs-body *::before {
  box-sizing: border-box;
  scrollbar-color: var(--fs-fg, #0a0a0a) var(--fs-rule-soft, rgba(10, 10, 10, 0.18)) !important;
  scrollbar-width: thin !important;
}

.fs-body {
  scrollbar-width: thin;
  scrollbar-color: var(--fs-fg) var(--fs-rule-soft);
}

html:has(body.fs-body)::-webkit-scrollbar,
.fs-body::-webkit-scrollbar,
.fs-body *::-webkit-scrollbar {
  width: 0.5rem;
  height: 0.5rem;
}

html:has(body.fs-body)::-webkit-scrollbar-track,
.fs-body::-webkit-scrollbar-track,
.fs-body *::-webkit-scrollbar-track {
  background: var(--fs-rule-soft, rgba(10, 10, 10, 0.18));
  border-radius: 0;
  border: 0;
}

html:has(body.fs-body)::-webkit-scrollbar-thumb,
.fs-body::-webkit-scrollbar-thumb,
.fs-body *::-webkit-scrollbar-thumb {
  background: var(--fs-fg, #0a0a0a);
  border-radius: 0;
  border: 0;
}

html:has(body.fs-body)::-webkit-scrollbar-thumb:hover,
.fs-body::-webkit-scrollbar-thumb:hover,
.fs-body *::-webkit-scrollbar-thumb:hover {
  background: var(--fs-fg, #0a0a0a);
  opacity: 0.85;
}

.fs-keyboard {
  position: fixed;
  left: 0;
  right: 0;
  top: 50%;
  bottom: auto;
  width: 100%;
  background: var(--fs-paper);
  border-top: 0.2143rem solid var(--fs-ink);
  padding: 1.4286rem 2rem 2rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  z-index: 50;
  box-shadow: 0 -1.4286rem 3rem rgba(0, 0, 0, 0.14);
}

.fs-kb-layout {
  display: none;
  flex-direction: column;
  gap: 1rem;
}

.fs-keyboard[data-mode=name] .fs-kb-layout--name {
  display: flex;
}

.fs-keyboard[data-mode=phone] .fs-kb-layout--phone {
  display: flex;
}

.fs-keyboard[data-mode=email] .fs-kb-layout--email {
  display: flex;
}

.fs-kb-row {
  display: flex;
  gap: 0.8571rem;
  justify-content: center;
}
.fs-kb-row.fs-kb-row--action {
  margin-top: 0.5714rem;
}

.fs-kb-key {
  flex: 0 0 auto;
  min-width: 5.2857rem;
  min-height: 5.7143rem;
  padding: 0 1.2857rem;
  font-family: var(--fs-font-ui);
  font-size: 1.8571rem;
  font-weight: 700;
  text-transform: lowercase;
  background: var(--fs-paper);
  color: var(--fs-ink);
  border: 0.1429rem solid var(--fs-ink);
  border-radius: 0;
  cursor: pointer;
  transition: transform 0.05s ease, background 0.12s ease, color 0.12s ease;
}
.fs-kb-key:active {
  transform: translateY(0.1429rem);
  background: var(--fs-ink);
  color: var(--fs-paper);
}

.fs-kb-key--space {
  min-width: 28.5714rem;
}

.fs-kb-key--util {
  min-width: 10.7143rem;
  font-size: 1.2857rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.fs-kb-key--confirm {
  min-width: 10.7143rem;
  background: var(--fs-ink);
  color: var(--fs-paper);
  font-size: 1.4286rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.fs-kb-key--shortcut {
  min-width: 18rem;
  font-family: var(--fs-font-mono, "JetBrains Mono", monospace);
  font-size: 1.4286rem;
  text-transform: none;
}

.fs-kb-key--sym {
  min-width: 4.5714rem;
}

.fs-kb-row--accents .fs-kb-key {
  min-width: 4.5714rem;
  min-height: 4.8571rem;
  font-size: 1.5714rem;
}

.hydro-selecoes-body {
  margin: 0;
  padding: 0;
  min-height: 100vh;
  font-family: "Inter", "Segoe UI", system-ui, sans-serif;
  color: #ffffff;
  background-color: #43807a;
  background-image: linear-gradient(165deg, #4b8c85 0%, #43807a 45%, #356760 100%);
  overflow-x: hidden;
}
.hydro-selecoes-body .modal-error,
.hydro-selecoes-body .modal-success,
.hydro-selecoes-body .modal-loader {
  color: #1a1a1a;
}
.hydro-selecoes-body .hydro-selecoes-stage {
  position: relative;
  z-index: 1;
  max-width: 560px;
  margin: 0 auto;
  padding: clamp(48px, 8vh, 120px) 20px clamp(40px, 8vh, 100px);
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.hydro-selecoes-body .hydro-selecoes-card {
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 22px;
  padding: clamp(28px, 5vw, 44px);
  backdrop-filter: blur(6px);
  display: flex;
  flex-direction: column;
  gap: 22px;
}
.hydro-selecoes-body .hydro-selecoes-header {
  text-align: center;
}
.hydro-selecoes-body .hydro-selecoes-eyebrow {
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  opacity: 0.85;
  margin: 0 0 10px;
}
.hydro-selecoes-body .hydro-selecoes-headline {
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(28px, 6vw, 38px);
  font-weight: 700;
  line-height: 1.12;
  margin: 0 0 10px;
}
.hydro-selecoes-body .hydro-selecoes-subheadline {
  font-size: 15px;
  font-weight: 500;
  opacity: 0.9;
  margin: 0;
}
.hydro-selecoes-body .hydro-selecoes-form {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.hydro-selecoes-body .hydro-selecoes-label {
  font-size: 13px;
  font-weight: 600;
  opacity: 0.9;
  margin-top: 8px;
}
.hydro-selecoes-body .hydro-selecoes-input {
  width: 100%;
  box-sizing: border-box;
  padding: 16px 18px;
  font-size: 18px;
  font-family: inherit;
  font-weight: 500;
  color: #ffffff;
  background: rgba(255, 255, 255, 0.14);
  border: 2px solid rgba(255, 255, 255, 0.28);
  border-radius: 12px;
  outline: none;
  transition: border-color 0.2s ease, background 0.2s ease;
}
.hydro-selecoes-body .hydro-selecoes-input::placeholder {
  color: rgba(255, 255, 255, 0.55);
}
.hydro-selecoes-body .hydro-selecoes-input:focus {
  border-color: rgba(255, 255, 255, 0.75);
  background: rgba(255, 255, 255, 0.2);
}
.hydro-selecoes-body .hydro-selecoes-cta {
  margin-top: 20px;
  padding: 18px 28px;
  font-size: 17px;
  font-family: inherit;
  font-weight: 700;
  color: #1f3a37;
  background: #ffffff;
  border: none;
  border-radius: 12px;
  cursor: pointer;
  transition: transform 0.15s ease, box-shadow 0.2s ease, opacity 0.2s ease;
}
.hydro-selecoes-body .hydro-selecoes-cta:not(:disabled):hover {
  transform: translateY(-1px);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.2);
}
.hydro-selecoes-body .hydro-selecoes-cta:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

.hydro-selecoes-kb {
  position: fixed;
  left: 0;
  right: 0;
  z-index: 60;
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 16px 16px 22px;
  background: #356760;
}
.hydro-selecoes-kb.hydro-selecoes-kb--bottom {
  bottom: 0;
  top: auto;
  box-shadow: 0 -10px 30px rgba(0, 0, 0, 0.28);
}
.hydro-selecoes-kb.hydro-selecoes-kb--top {
  top: 0;
  bottom: auto;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.28);
}
.hydro-selecoes-kb .hydro-selecoes-kb-toggle {
  align-self: flex-end;
  width: 46px;
  height: 40px;
  font-size: 20px;
  line-height: 1;
  color: #ffffff;
  background: rgba(255, 255, 255, 0.18);
  border: 1px solid rgba(255, 255, 255, 0.35);
  border-radius: 8px;
  cursor: pointer;
}
.hydro-selecoes-kb .hydro-selecoes-kb-toggle:active {
  background: rgba(255, 255, 255, 0.34);
}
.hydro-selecoes-kb .hydro-selecoes-kb-layout {
  display: none;
  flex-direction: column;
  gap: 10px;
}
.hydro-selecoes-kb[data-mode=name] .hydro-selecoes-kb-layout--name {
  display: flex;
}
.hydro-selecoes-kb[data-mode=cargo] .hydro-selecoes-kb-layout--cargo {
  display: flex;
}
.hydro-selecoes-kb .hydro-selecoes-kb-row {
  display: flex;
  gap: 8px;
  justify-content: center;
}
.hydro-selecoes-kb .hydro-selecoes-kb-row.hydro-selecoes-kb-row--action {
  margin-top: 6px;
}
.hydro-selecoes-kb .hydro-selecoes-kb-key {
  flex: 0 0 auto;
  min-width: 64px;
  min-height: 64px;
  padding: 0 14px;
  font-family: inherit;
  font-size: 22px;
  font-weight: 700;
  color: #1f3a37;
  background: #ffffff;
  border: none;
  border-radius: 10px;
  cursor: pointer;
  box-shadow: 0 2px 0 rgba(0, 0, 0, 0.15);
  transition: transform 0.05s ease, background 0.12s ease, color 0.12s ease;
}
.hydro-selecoes-kb .hydro-selecoes-kb-key:active {
  transform: translateY(2px);
  background: #43807a;
  color: #ffffff;
}
.hydro-selecoes-kb .hydro-selecoes-kb-key--space {
  flex: 1 1 auto;
  min-width: 280px;
  max-width: 520px;
}
.hydro-selecoes-kb .hydro-selecoes-kb-key--util {
  min-width: 120px;
  font-size: 15px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  background: rgba(255, 255, 255, 0.85);
}
.hydro-selecoes-kb .hydro-selecoes-kb-key--confirm {
  min-width: 120px;
  font-size: 16px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  background: #43807a;
  color: #ffffff;
}
.hydro-selecoes-kb .hydro-selecoes-kb-key--sym {
  min-width: 56px;
}
.hydro-selecoes-kb .hydro-selecoes-kb-row--accents .hydro-selecoes-kb-key {
  min-width: 54px;
  min-height: 54px;
  font-size: 19px;
}
.hydro-selecoes-kb .hydro-selecoes-kb-key--backspace {
  min-width: 130px;
  font-size: 15px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  background: rgba(255, 255, 255, 0.85);
}
.hydro-selecoes-kb .hydro-selecoes-kb-row--accents .hydro-selecoes-kb-key--backspace {
  min-width: 130px;
  min-height: 54px;
  font-size: 15px;
}
@media only screen and (max-width: 768px) {
  .hydro-selecoes-kb .hydro-selecoes-kb-key {
    min-width: 30px;
    min-height: 52px;
    font-size: 18px;
    padding: 0 6px;
  }
  .hydro-selecoes-kb .hydro-selecoes-kb-key--space {
    min-width: 110px;
  }
  .hydro-selecoes-kb .hydro-selecoes-kb-key--util,
  .hydro-selecoes-kb .hydro-selecoes-kb-key--confirm {
    min-width: 78px;
    font-size: 13px;
  }
  .hydro-selecoes-kb .hydro-selecoes-kb-key--backspace,
  .hydro-selecoes-kb .hydro-selecoes-kb-row--accents .hydro-selecoes-kb-key--backspace {
    min-width: 92px;
    min-height: 46px;
    font-size: 12px;
  }
  .hydro-selecoes-kb .hydro-selecoes-kb-row--accents .hydro-selecoes-kb-key,
  .hydro-selecoes-kb .hydro-selecoes-kb-key--sym {
    min-width: 28px;
    min-height: 46px;
    font-size: 16px;
  }
}

.backoffice-custom-project-briefings-status {
  display: inline-block;
  vertical-align: middle;
  padding: 0.25rem 0.625rem;
  border-radius: 62.4375rem;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.025rem;
  text-box-trim: trim-both;
  text-box-edge: cap alphabetic;
}
.backoffice-custom-project-briefings-status--new {
  background-color: color-mix(in srgb, var(--yellow, #E69839) 18%, transparent);
  color: var(--red, #fd5249);
}
.backoffice-custom-project-briefings-status--handled {
  background-color: color-mix(in srgb, var(--success, #23a667) 18%, transparent);
  color: var(--success, #23a667);
}

@supports not (text-box-trim: trim-both) {
  .backoffice-custom-project-briefings-status {
    padding-top: calc(0.25rem + 0.08em);
    padding-bottom: calc(0.25rem - 0.08em);
  }
}
.payment-pix {
  border-radius: 1rem;
  background: var(--white, #ffffff);
  box-shadow: 0 0.625rem 0.875rem 0 rgba(0, 0, 0, 0.25);
  display: inline-flex;
  padding: 1.5rem;
  flex-direction: column;
  align-items: flex-start;
  gap: 1rem;
  width: min(46rem, 100%);
}
.payment-pix > p, .payment-pix > .number-of-devices-label {
  text-align: center;
  margin: 0;
  font-size: 1.125rem;
  font-weight: 500;
  word-break: break-all;
  line-height: 140%;
  letter-spacing: 0%;
}
.payment-pix button {
  margin: 0 auto;
}

.payment-pix__image {
  aspect-ratio: 1/1;
  height: 100%;
  width: min(100%, 14.25rem);
  display: block;
}

.payment-pix__section {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  justify-content: center;
  flex-wrap: wrap;
  gap: 2rem;
}

.payment-pix__section__sub-div {
  display: flex;
  flex-direction: column;
  gap: 0.875rem;
  max-width: 23.75rem;
}

.payment-pix__copy-and-paste-text {
  background-color: var(--gray-light, #f5f6f7);
  border: 1px solid var(--gray-medium, #dee2e6);
  gap: 0.625rem;
  border-radius: 0.75rem;
  border-width: 0.0625rem;
  padding: 1rem;
  word-break: break-all;
  color: var(--panel-capture-button-gray, #535454);
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 140%;
}

.panel-help-main {
  margin: 0 auto;
  max-width: 1060px;
  padding-bottom: 4rem;
}

.panel-help-title {
  font-size: 26px;
  font-weight: 700;
  margin-top: 14px;
}

.panel-help-subtitle {
  color: var(--panel-home-text-soft, #454b57);
  font-size: 15px;
  margin-top: 6px;
}

.panel-my-events-input-search-container.panel-help-search-container {
  margin: 18px 0 0;
}

.panel-help-type-tabs {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
}

.panel-help-type-tab {
  align-items: center;
  background-color: var(--white, #ffffff);
  border: 1px solid var(--panel-home-border, #e5e9ef);
  border-radius: 999px;
  color: var(--panel-home-text-soft, #454b57);
  cursor: pointer;
  display: inline-flex;
  font-size: 13px;
  font-weight: 700;
  gap: 7px;
  min-height: 42px;
  padding: 8px 14px;
}

.panel-help-type-tab--active {
  background-color: var(--black, #121212);
  border-color: var(--black, #121212);
  color: var(--white, #ffffff);
}

.panel-help-layout {
  align-items: start;
  display: grid;
  gap: 24px;
  grid-template-columns: 260px 1fr;
  margin-top: 20px;
}

.panel-help-sidebar {
  background-color: var(--white, #ffffff);
  border: 1px solid var(--panel-home-border, #e5e9ef);
  border-radius: 16px;
  box-shadow: 0 1px 3px rgba(18, 18, 18, 0.05);
  padding: 8px;
  position: sticky;
  top: calc(var(--panel-header-height, 64px) + 1rem);
}

.panel-help-topic-button {
  align-items: center;
  background: none;
  border-radius: 11px;
  color: var(--panel-home-text-soft, #454b57);
  cursor: pointer;
  display: flex;
  flex-direction: row;
  font-size: 14px;
  font-weight: 600;
  gap: 11px;
  min-height: 48px;
  padding: 12px;
  text-align: left;
  width: 100%;
}
.panel-help-topic-button svg {
  flex: none;
}
.panel-help-topic-button span {
  flex: 1;
}
.panel-help-topic-button small {
  color: var(--panel-home-text-muted, #6b6b6b);
  font-size: 12px;
  font-weight: 700;
}

.panel-help-topic-button--active {
  background-color: var(--blue-light, #e5edfa);
  color: var(--panel-home-link, #1565c0);
}

.panel-help-sidebar__divider {
  border-top: 1px solid var(--panel-home-border, #e5e9ef);
  color: var(--panel-home-text-muted, #6b6b6b);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.05em;
  margin: 6px 8px 2px;
  padding-top: 10px;
  text-transform: uppercase;
}

.panel-help-content {
  min-width: 0;
}

.panel-help-back-button {
  align-items: center;
  background: none;
  color: var(--panel-home-link, #1565c0);
  cursor: pointer;
  display: none;
  font-size: 14px;
  font-weight: 700;
  gap: 6px;
  min-height: 44px;
  padding: 2px 0 14px;
}

.panel-help-content__title {
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 4px;
}

.panel-help-content__sub {
  color: var(--panel-home-text-soft, #454b57);
  font-size: 14px;
  margin-bottom: 16px;
}

.panel-help-items {
  display: grid;
  gap: 10px;
}

.panel-help-item {
  align-items: center;
  background-color: var(--white, #ffffff);
  border: 1px solid var(--panel-home-border, #e5e9ef);
  border-radius: 13px;
  box-shadow: 0 1px 3px rgba(18, 18, 18, 0.05);
  cursor: pointer;
  display: flex;
  flex-direction: row;
  gap: 13px;
  min-height: 64px;
  padding: 14px 15px;
  text-align: left;
  width: 100%;
}
.panel-help-item > img {
  flex: none;
}

.panel-help-item__icon {
  align-items: center;
  border-radius: 10px;
  display: flex;
  flex: none;
  height: 38px;
  justify-content: center;
  width: 38px;
}
.panel-help-item__icon--article {
  background-color: #e7eefc;
  color: #2f5fc0;
}
.panel-help-item__icon--link {
  background-color: #daf3ef;
  color: #0d8375;
}
.panel-help-item__icon--video {
  background-color: #fce1e1;
  color: #c21d1d;
}
.panel-help-item__icon--doc {
  background-color: #fbe2e2;
  color: #c53a33;
}
.panel-help-item__icon--zip {
  background-color: #fbefd6;
  color: #8a5a00;
}

.panel-help-item__text {
  display: flex;
  flex: 1;
  flex-direction: column;
  min-width: 0;
}
.panel-help-item__text b {
  font-size: 15px;
  font-weight: 700;
}
.panel-help-item__text > span {
  color: var(--panel-home-text-soft, #454b57);
  font-size: 13px;
  line-height: 1.4;
  margin-top: 2px;
}

.panel-help-badge {
  align-self: flex-start;
  border-radius: 5px;
  font-size: 10px;
  font-style: normal;
  font-weight: 800;
  letter-spacing: 0.03em;
  margin-top: 6px;
  padding: 2px 7px;
  text-transform: uppercase;
}
.panel-help-badge--article {
  background-color: #e7eefc;
  color: #2f5fc0;
}
.panel-help-badge--link {
  background-color: #daf3ef;
  color: #0d8375;
}
.panel-help-badge--video {
  background-color: #fce1e1;
  color: #c21d1d;
}
.panel-help-badge--doc {
  background-color: #fbe2e2;
  color: #c53a33;
}
.panel-help-badge--zip {
  background-color: #fbefd6;
  color: #8a5a00;
}

.panel-help-no-results {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding: 3rem 1rem;
  text-align: center;
}
.panel-help-no-results p, .panel-help-no-results .number-of-devices-label {
  color: var(--panel-home-text-soft, #454b57);
  font-size: 14px;
  max-width: 320px;
}

.panel-help-support {
  align-items: center;
  background-color: var(--white, #ffffff);
  border: 1px solid var(--panel-home-border, #e5e9ef);
  border-radius: 14px;
  box-shadow: 0 1px 3px rgba(18, 18, 18, 0.05);
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 22px;
  padding: 18px;
}
.panel-help-support p, .panel-help-support .number-of-devices-label {
  color: var(--panel-home-text-soft, #454b57);
  flex: 1;
  font-size: 14px;
  min-width: 180px;
}
.panel-help-support p b, .panel-help-support .number-of-devices-label b {
  color: var(--black, #121212);
}

.panel-help-support__button {
  align-items: center;
  background-color: var(--panel-home-whatsapp-green, #128c4a);
  border-radius: 8px;
  color: var(--white, #ffffff);
  cursor: pointer;
  display: inline-flex;
  flex-direction: row;
  font-size: 14px;
  font-weight: 700;
  gap: 9px;
  min-height: 48px;
  padding: 12px 17px;
}

.panel-help-item-modal {
  text-align: left;
}
.panel-help-item-modal h3 {
  font-size: 22px;
  font-weight: 700;
  line-height: 1.2;
  margin: 10px 0;
}
.panel-help-item-modal > p, .panel-help-item-modal > .number-of-devices-label {
  color: var(--panel-home-text-soft, #454b57);
  font-size: 15px;
  line-height: 1.6;
}
.panel-help-item-modal .panel-help-badge {
  margin-top: 0;
}
.panel-help-item-modal .panel-help-item-modal__soon {
  border-top: 1px dashed var(--panel-home-border, #e5e9ef);
  color: var(--panel-home-text-muted, #6b6b6b);
  font-size: 12.5px;
  margin-top: 18px;
  padding-top: 12px;
}

@media only screen and (max-width: 768px) {
  .panel-help-layout {
    grid-template-columns: 1fr;
  }
  .panel-help-sidebar {
    position: static;
  }
  .panel-help-layout .panel-help-content {
    display: none;
  }
  .panel-help-layout--content-open .panel-help-sidebar {
    display: none;
  }
  .panel-help-layout--content-open .panel-help-content {
    display: block;
  }
  .panel-help-layout--content-open .panel-help-back-button {
    display: inline-flex;
  }
}
#credit_card_payment_div {
  background-color: var(--white, #ffffff);
  border-radius: 0.5rem;
  box-shadow: 8px 12px 24px 0px rgba(18, 18, 18, 0.0784313725);
  padding: 2rem;
  width: min(750px + 4rem, 100%);
}
#credit_card_payment_div .button-primary {
  margin-top: 1rem;
  padding: 1rem;
  width: 100%;
}

.user-cart-coupon-container {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  min-height: 5rem;
  width: min(600px, 100%);
}

.button-primary.button-primary-no-background {
  background-color: transparent;
  color: var(--black, #121212);
}

.coupon-buttons-container {
  align-items: center;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.user-cart-coupon-checkmark {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}

#payment-message {
  text-align: center;
  margin-top: 1rem;
}

@font-face {
  font-family: "Globo Festival Poppins";
  src: url("https://cdn.photofun.ai/assets/globo_festival_data_lab/fonts/Poppins-Medium.ttf") format("truetype");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Globo Festival Poppins";
  src: url("https://cdn.photofun.ai/assets/globo_festival_data_lab/fonts/Poppins-Bold.ttf") format("truetype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
.globo-festival-body {
  margin: 0;
  padding: 0;
  min-height: 100vh;
  font-family: "Globo Festival Poppins", "Inter", "Segoe UI", system-ui, sans-serif;
  color: #ffffff;
  background-color: #2655ff;
  background-image: radial-gradient(120% 70% at 0% 0%, rgba(255, 255, 255, 0.08) 0%, rgba(255, 255, 255, 0) 45%), radial-gradient(120% 70% at 100% 0%, rgba(255, 255, 255, 0.05) 0%, rgba(255, 255, 255, 0) 40%), linear-gradient(177deg, #247be5 0%, #2174df 12%, #276bda 25%, #2e5fd4 40%, #3551cf 55%, #3e42ca 70%, #4434c5 85%, #4b28c3 100%);
  overflow-x: hidden;
  position: relative;
}
.globo-festival-body::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  background: url("https://cdn.photofun.ai/assets/globo_festival_data_lab/fundo_quiz.jpeg") center center/contain no-repeat;
  pointer-events: none;
}
.globo-festival-body .modal-error,
.globo-festival-body .modal-success,
.globo-festival-body .modal-loader {
  color: #1a1a1a;
}
.globo-festival-body .globo-festival-stage {
  position: relative;
  z-index: 1;
  max-width: 720px;
  margin: 0 auto;
  padding: clamp(96px, 14vh, 200px) 24px clamp(80px, 10vh, 140px);
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}
.globo-festival-body .globo-festival-screen {
  display: none;
  flex-direction: column;
  gap: 28px;
  flex: 1;
}
.globo-festival-body .globo-festival-screen.is-active {
  display: flex;
}
.globo-festival-body .globo-festival-header {
  text-align: center;
}
.globo-festival-body .globo-festival-eyebrow {
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  opacity: 0.85;
  margin-bottom: 16px;
}
.globo-festival-body .globo-festival-headline {
  font-size: clamp(28px, 5.5vw, 40px);
  font-weight: 700;
  line-height: 1.15;
  margin: 0 0 12px;
}
.globo-festival-body .globo-festival-subheadline {
  font-size: 16px;
  font-weight: 500;
  opacity: 0.9;
  margin: 0;
}
.globo-festival-body .globo-festival-form {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 16px;
}
.globo-festival-body .globo-festival-label {
  font-size: 14px;
  font-weight: 500;
  opacity: 0.9;
}
.globo-festival-body .globo-festival-input {
  width: 100%;
  box-sizing: border-box;
  padding: 18px 20px;
  font-size: 18px;
  font-family: inherit;
  font-weight: 500;
  color: #ffffff;
  background: rgba(255, 255, 255, 0.12);
  border: 2px solid rgba(255, 255, 255, 0.25);
  border-radius: 14px;
  outline: none;
  transition: border-color 0.2s ease, background 0.2s ease;
}
.globo-festival-body .globo-festival-input::placeholder {
  color: rgba(255, 255, 255, 0.55);
}
.globo-festival-body .globo-festival-input:focus {
  border-color: rgba(255, 255, 255, 0.7);
  background: rgba(255, 255, 255, 0.18);
}
.globo-festival-body .globo-festival-input-hint {
  font-size: 13px;
  font-weight: 400;
  opacity: 0.65;
  margin: 4px 0 12px;
}
.globo-festival-body .globo-festival-cta {
  align-self: stretch;
  margin-top: 12px;
  padding: 18px 32px;
  font-size: 17px;
  font-family: inherit;
  font-weight: 700;
  color: #3b1bbf;
  background: #ffffff;
  border: none;
  border-radius: 14px;
  cursor: pointer;
  transition: transform 0.15s ease, box-shadow 0.2s ease, opacity 0.2s ease;
}
.globo-festival-body .globo-festival-cta:not(:disabled):hover {
  transform: translateY(-1px);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.18);
}
.globo-festival-body .globo-festival-cta:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}
.globo-festival-body .globo-festival-back-link {
  margin-top: 12px;
  padding: 8px 12px;
  font-size: 14px;
  font-family: inherit;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.85);
  background: transparent;
  border: none;
  cursor: pointer;
  align-self: center;
}
.globo-festival-body .globo-festival-back-link:hover {
  color: #ffffff;
}
.globo-festival-body .globo-festival-sectors {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}
@media (min-width: 600px) {
  .globo-festival-body .globo-festival-sectors {
    grid-template-columns: 1fr 1fr;
  }
}
.globo-festival-body .globo-festival-sector-card {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 20px 22px;
  font-size: 16px;
  font-family: inherit;
  font-weight: 600;
  text-align: left;
  color: #ffffff;
  background: linear-gradient(135deg, rgba(38, 85, 255, 0.55) 0%, rgba(92, 57, 232, 0.55) 100%);
  border: 2px solid rgba(255, 255, 255, 0.22);
  border-radius: 16px;
  cursor: pointer;
  transition: transform 0.15s ease, border-color 0.2s ease, background 0.2s ease;
}
.globo-festival-body .globo-festival-sector-card:hover {
  transform: translateY(-1px);
  border-color: rgba(255, 255, 255, 0.5);
}
.globo-festival-body .globo-festival-sector-card.is-selected {
  border-color: #ffffff;
  background: linear-gradient(135deg, #2655ff 0%, #5c39e8 100%);
  box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.2);
}
.globo-festival-body .globo-festival-sector-card.is-selected .globo-festival-sector-card-check {
  opacity: 1;
}
.globo-festival-body .globo-festival-sector-card-label {
  flex: 1;
}
.globo-festival-body .globo-festival-sector-card-check {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  font-size: 16px;
  font-weight: 700;
  color: #3b1bbf;
  background: #ffffff;
  border-radius: 999px;
  opacity: 0;
  transition: opacity 0.2s ease;
}

.event-gallery-slide-show-swiper {
  height: 100%;
}

.event-gallery-slide-show-container {
  height: 100%;
}
.event-gallery-slide-show-container .swiper-wrapper {
  align-items: center;
  cursor: unset;
}
.event-gallery-slide-show-container .swiper-slide {
  justify-content: center;
}
.event-gallery-slide-show-container img {
  border-radius: 6px;
  height: auto;
  object-fit: contain;
  width: 100%;
}
.event-gallery-slide-show-container ul {
  align-items: center;
  bottom: 1rem;
  display: flex;
  flex-direction: row;
  gap: 1rem;
  right: 0;
  list-style: none;
  margin-top: 2rem;
  position: absolute;
  width: max-content;
  z-index: 100;
}
.event-gallery-slide-show-container ul img {
  aspect-ratio: 160/160;
  height: 100%;
  max-width: 160px;
  max-height: 160px;
  object-fit: cover;
  width: 100%;
}
.event-gallery-slide-show-container .qrcode img {
  border-radius: 0;
}

.event-gallery-slide-show-main-image {
  border-radius: 0;
  max-height: 100vh;
  max-width: 100vw;
  opacity: 0;
  transition: opacity 1s ease-in-out;
}

.event-gallery-slide-show-main-image.visible {
  opacity: 1;
  z-index: 2;
}

.event-gallery-slide-show-main-image.hidden {
  opacity: 0;
  z-index: 1;
}

.panel-home-main.event-gallery-slide-show-main {
  height: 100%;
  overflow: hidden;
  padding: 0;
}

.qrcode-and-active-photo-container {
  align-items: center;
  background-color: var(--white, #ffffff);
  border-top-left-radius: 6px;
  border-bottom-left-radius: 6px;
  display: flex;
  flex-direction: row;
  padding: 1rem 0.5rem;
}
.qrcode-and-active-photo-container img {
  max-width: 160px;
  max-height: 160px;
}
.qrcode-and-active-photo-container .qrcode {
  z-index: 101;
}

.qrcode-and-active-photo-placeholder {
  background-color: var(--gray-medium, #dee2e6);
  border-top-left-radius: 7px;
  border-bottom-left-radius: 7px;
  height: 160px;
  width: 160px;
}

.event-gallery-slide-show-container {
  position: relative;
}

.swiper-pagination-thumbs {
  transform: translateX(-166px);
}

.swiper-pagination-thumbs.no-qrcode-thumb {
  left: -100%;
}

.swiper-pagination-thumbs-container {
  bottom: 0;
  position: absolute;
  right: 0;
  z-index: 1;
}

.swiper-pagination-thumbs-container__relative-container {
  position: relative;
}

#current_capture_session_original_img {
  position: absolute;
  transition: opacity 0.1s ease-in-out;
}

.slideshow-receive-photo-header {
  align-items: center;
  display: flex;
  flex-direction: row;
  justify-content: center;
  position: absolute;
  width: 100%;
  z-index: 2;
}

@supports (max-height: 100dvh) {
  .event-gallery-slide-show-main-image {
    max-height: 100dvh;
    max-width: 100dvw;
  }
}
@media only screen and (max-width: 950px) {
  .swiper-pagination-thumbs {
    transform: translateX(-86px);
  }
  .event-gallery-slide-show-container ul li {
    flex-shrink: 0;
  }
  .event-gallery-slide-show-container ul img {
    max-width: 80px;
    max-height: 80px;
  }
  .qrcode-and-active-photo-placeholder,
  .qrcode-and-active-photo-container img {
    max-width: 80px;
    max-height: 80px;
  }
  .qrcode-and-active-photo-placeholder {
    height: 80px;
    width: 80px;
  }
}
.backoffice-telemetry-detail-main .telemetry-server-status-dot {
  display: inline-block;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  vertical-align: middle;
  margin-right: 6px;
}
.backoffice-telemetry-detail-main .backoffice-telemetry-controls {
  display: flex;
  align-items: center;
  gap: 16px;
  margin: 16px 0;
  flex-wrap: wrap;
}
.backoffice-telemetry-detail-main .backoffice-telemetry-timeframes,
.backoffice-telemetry-detail-main .backoffice-telemetry-view-modes,
.backoffice-telemetry-detail-main .backoffice-telemetry-resource-tabs {
  display: flex;
  gap: 4px;
}
.backoffice-telemetry-detail-main .backoffice-telemetry-timeframes button,
.backoffice-telemetry-detail-main .backoffice-telemetry-view-modes button,
.backoffice-telemetry-detail-main .backoffice-telemetry-resource-tabs button {
  padding: 6px 14px;
  border: 1px solid #ddd;
  background: #fff;
  cursor: pointer;
  border-radius: 4px;
  font-size: 14px;
}
.backoffice-telemetry-detail-main .backoffice-telemetry-timeframes button.active,
.backoffice-telemetry-detail-main .backoffice-telemetry-view-modes button.active,
.backoffice-telemetry-detail-main .backoffice-telemetry-resource-tabs button.active {
  background-color: #1976d2;
  color: white;
  border-color: #1976d2;
}
.backoffice-telemetry-detail-main .backoffice-telemetry-timeframes button:hover:not(.active),
.backoffice-telemetry-detail-main .backoffice-telemetry-view-modes button:hover:not(.active),
.backoffice-telemetry-detail-main .backoffice-telemetry-resource-tabs button:hover:not(.active) {
  background-color: #f5f5f5;
}
.backoffice-telemetry-detail-main .telemetry-action-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 14px;
  background-color: #1a1a1a;
  color: #fff;
  border: 1px solid #1a1a1a;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  transition: background-color 0.15s ease, transform 0.05s ease;
  line-height: 1;
}
.backoffice-telemetry-detail-main .telemetry-action-btn svg {
  flex-shrink: 0;
}
.backoffice-telemetry-detail-main .telemetry-action-btn:hover {
  background-color: #333;
}
.backoffice-telemetry-detail-main .telemetry-action-btn:active {
  transform: translateY(1px);
}
.backoffice-telemetry-detail-main .telemetry-action-btn:focus-visible {
  outline: 2px solid #1976d2;
  outline-offset: 2px;
}
.backoffice-telemetry-detail-main .backoffice-telemetry-charts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 16px;
}
@media only screen and (max-width: 1100px) {
  .backoffice-telemetry-detail-main .backoffice-telemetry-charts {
    grid-template-columns: 1fr;
  }
}
.backoffice-telemetry-detail-main .telemetry-chart-wrapper {
  background-color: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  padding: 12px;
  min-width: 0;
}
.backoffice-telemetry-detail-main .telemetry-chart-wrapper h3 {
  margin: 0 0 8px;
  font-size: 13px;
  color: #333;
  font-weight: 600;
}
.backoffice-telemetry-detail-main .telemetry-chart-wrapper .telemetry-chart {
  width: 100%;
  height: 120px;
  position: relative;
}
.backoffice-telemetry-detail-main .telemetry-chart-wrapper .telemetry-chart-meta {
  margin: 4px 0 0;
  font-size: 11px;
  color: #999;
}
.backoffice-telemetry-detail-main .telemetry-chart-wrapper .telemetry-chart-tooltip {
  position: absolute;
  z-index: 10;
  pointer-events: none;
  background-color: rgba(33, 33, 33, 0.92);
  color: #f5f5f5;
  padding: 6px 10px;
  border-radius: 4px;
  font-size: 11px;
  font-family: monospace;
  line-height: 1.4;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
  white-space: nowrap;
}
.backoffice-telemetry-detail-main .telemetry-chart-wrapper .telemetry-chart-tooltip div {
  display: flex;
  justify-content: space-between;
  gap: 12px;
}
.backoffice-telemetry-detail-main .telemetry-chart-wrapper .telemetry-chart-tooltip div span {
  color: #aaa;
}
.backoffice-telemetry-detail-main .telemetry-chart-wrapper .telemetry-chart-tooltip div strong {
  color: #fff;
}
.backoffice-telemetry-detail-main .telemetry-chart-wrapper .telemetry-chart-tooltip .telemetry-chart-tooltip-meta {
  color: #888;
  font-size: 10px;
  margin-top: 2px;
  padding-top: 2px;
  border-top: 1px solid rgba(255, 255, 255, 0.15);
  display: block;
}
.backoffice-telemetry-detail-main .backoffice-telemetry-alerts,
.backoffice-telemetry-detail-main .backoffice-telemetry-recent-events {
  margin-top: 32px;
}
.backoffice-telemetry-detail-main .backoffice-telemetry-alerts h2,
.backoffice-telemetry-detail-main .backoffice-telemetry-recent-events h2 {
  font-size: 18px;
  margin-bottom: 12px;
}

.modal.modal-telemetry-narrow.open {
  display: flex !important;
  align-items: center;
  justify-content: center;
}
.modal.modal-telemetry-narrow .content-modal {
  margin: 0;
  top: auto;
  transform: none;
  max-width: 520px;
  width: calc(100% - 2rem);
  max-height: calc(100vh - 4rem);
  overflow-y: auto;
  padding: 1.5rem 1.5rem 2rem;
}
.modal.modal-telemetry-narrow .modal-content h1 {
  font-size: 1.2rem;
  margin: 0 0 0.5rem;
}

.telemetry-alert-emails-note {
  font-size: 12px;
  color: #888;
  margin: 8px 0;
  font-style: italic;
}

.telemetry-chart-checkboxes {
  display: flex;
  flex-direction: column;
  gap: 4px;
  max-height: 220px;
  overflow-y: auto;
  padding: 8px 10px;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  background-color: #fafafa;
}
.telemetry-chart-checkboxes label {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 12px;
  line-height: 1.4;
  cursor: pointer;
  padding: 3px 0;
}
.telemetry-chart-checkboxes label input {
  margin: 2px 0 0;
  flex-shrink: 0;
}
.telemetry-chart-checkboxes label span {
  flex: 1;
}
.telemetry-chart-checkboxes label:hover {
  color: #1976d2;
}

.modal.modal-telemetry-narrow .modal-content h2 {
  font-size: 13px;
  font-weight: 600;
  margin: 0.75rem 0 0.25rem;
  color: #555;
  text-align: left;
}

.backoffice-telemetry-reports {
  margin-top: 32px;
}
.backoffice-telemetry-reports h2 {
  font-size: 18px;
  margin-bottom: 6px;
}

.backoffice-telemetry-reports-note {
  font-size: 12px;
  color: #888;
  margin: 0 0 14px;
}

.telemetry-reports-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.telemetry-report-card {
  background: #fff;
  border: 1px solid #e0e0e0;
  border-left: 3px solid #cfcfcf;
  border-radius: 6px;
  overflow: hidden;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.telemetry-report-card.is-attention {
  border-left-color: #d97706;
}
.telemetry-report-card.is-normal {
  border-left-color: #16a34a;
}
.telemetry-report-card.is-open {
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
}
.telemetry-report-card .telemetry-report-card-header {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 8px;
  align-items: start;
  padding: 10px 14px;
  cursor: pointer;
}
.telemetry-report-card .telemetry-report-card-header:hover {
  background: #fafafa;
}
.telemetry-report-card .telemetry-report-card-meta {
  display: flex;
  gap: 10px;
  align-items: center;
  font-size: 11px;
  color: #888;
  flex-wrap: wrap;
}
.telemetry-report-card .telemetry-report-card-meta .telemetry-report-card-kind {
  background: #1a1a1a;
  color: #fff;
  padding: 2px 8px;
  border-radius: 3px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  font-size: 10px;
}
.telemetry-report-card .telemetry-report-card-title {
  font-size: 13px;
  color: #222;
  margin-top: 4px;
  line-height: 1.4;
  grid-column: 1/-1;
}
.telemetry-report-card .telemetry-report-card-toggle {
  background: none;
  border: 0;
  cursor: pointer;
  color: #888;
  padding: 4px;
  line-height: 0;
  display: flex;
  align-items: center;
}
.telemetry-report-card .telemetry-report-card-toggle:hover {
  color: #222;
}
.telemetry-report-card.is-open .telemetry-report-card-toggle svg {
  transform: rotate(180deg);
}
.telemetry-report-card .telemetry-report-card-body {
  padding: 0 14px 12px;
  font-size: 12px;
  line-height: 1.55;
  color: #333;
  border-top: 1px solid #f0f0f0;
}
.telemetry-report-card .telemetry-report-card-body ul {
  margin: 8px 0 8px;
  padding-left: 18px;
}
.telemetry-report-card .telemetry-report-card-body li {
  margin-bottom: 4px;
}
.telemetry-report-card .telemetry-report-card-body .telemetry-report-card-veredito {
  margin: 8px 0 0;
  font-style: italic;
  color: #555;
}

.telemetry-alert-help {
  background-color: #fff8e1;
  border: 1px solid #f0d97f;
  border-radius: 6px;
  padding: 10px 14px;
  font-size: 12px;
  color: #5a4500;
  line-height: 1.5;
}
.telemetry-alert-help strong {
  color: #3a2d00;
}
.telemetry-alert-help ul {
  margin: 6px 0;
  padding-left: 18px;
}
.telemetry-alert-help li {
  margin-bottom: 4px;
}
.telemetry-alert-help p, .telemetry-alert-help .number-of-devices-label {
  margin: 6px 0 0;
}

/* ---- POWER_CONTROL — cards de energia / snapshot / quedas (A/G/H) ----
   Em nível raiz (não aninhado em .backoffice-telemetry-detail-main) porque os modais
   ficam FORA do <main> e precisam compartilhar os estilos de botão. */
.backoffice-telemetry-power-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin: 20px 0;
}
@media only screen and (max-width: 900px) {
  .backoffice-telemetry-power-row {
    grid-template-columns: 1fr;
  }
}

.backoffice-telemetry-card {
  background: #fff;
  border: 1px solid #e6e6e6;
  border-radius: 10px;
  padding: 18px 20px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
}
.backoffice-telemetry-card h2 {
  margin: 0 0 6px;
  font-size: 15px;
  font-weight: 700;
  color: #1a1a1a;
}

.backoffice-telemetry-card-warn {
  color: #b54708;
  background: #fff7ed;
  border: 1px solid #fed7aa;
  border-radius: 6px;
  padding: 8px 10px;
  font-size: 12px;
  line-height: 1.4;
  margin: 8px 0 14px;
}

.backoffice-telemetry-power-buttons {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 14px;
}

.telemetry-power-on,
.telemetry-power-restart,
.telemetry-power-danger,
.telemetry-power-primary,
.telemetry-power-cancel {
  border: none;
  border-radius: 8px;
  padding: 9px 18px;
  font-size: 13px;
  font-weight: 600;
  color: #fff;
  cursor: pointer;
  transition: filter 0.15s ease, opacity 0.15s ease;
}
.telemetry-power-on:hover,
.telemetry-power-restart:hover,
.telemetry-power-danger:hover,
.telemetry-power-primary:hover,
.telemetry-power-cancel:hover {
  filter: brightness(0.92);
}
.telemetry-power-on[disabled],
.telemetry-power-restart[disabled],
.telemetry-power-danger[disabled],
.telemetry-power-primary[disabled],
.telemetry-power-cancel[disabled] {
  opacity: 0.45;
  cursor: not-allowed;
  filter: none;
}

.telemetry-power-on {
  background: #15803d;
} /* verde — ligar */
.telemetry-power-restart {
  background: #b45309;
} /* âmbar — reiniciar */
.telemetry-power-danger {
  background: #c62828;
} /* vermelho — desligar / confirmar */
.telemetry-power-primary {
  background: #1565c0;
} /* azul — capturar tela / recuperar */
.telemetry-power-cancel {
  background: #eceff1;
  color: #334155;
}

/* Variante "na marra": outline em vez de preenchido, pra distinguir do gracioso e evitar clique errado. */
.telemetry-power-forced {
  background: transparent;
  box-shadow: inset 0 0 0 1.5px currentColor;
}
.telemetry-power-forced.telemetry-power-danger {
  color: #c62828;
}
.telemetry-power-forced.telemetry-power-restart {
  color: #b45309;
}
.telemetry-power-forced:hover {
  filter: none;
  background: rgba(0, 0, 0, 0.04);
}

.backoffice-telemetry-power-status {
  font-size: 12.5px;
  color: #555;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  padding-top: 10px;
  border-top: 1px solid #f0f0f0;
}

.telemetry-power-status-badge {
  background: #eef2f6;
  color: #334155;
  border-radius: 999px;
  padding: 2px 10px;
  font-weight: 600;
  font-size: 11.5px;
}

.telemetry-power-status-meta {
  color: #999;
  width: 100%;
  font-size: 11.5px;
}

.backoffice-telemetry-snapshot-wrapper {
  margin-top: 12px;
}
.backoffice-telemetry-snapshot-wrapper .backoffice-telemetry-snapshot-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 8px;
}
.backoffice-telemetry-snapshot-wrapper .backoffice-telemetry-snapshot-bar button {
  padding: 5px 12px;
  font-size: 12px;
}
.backoffice-telemetry-snapshot-wrapper img {
  width: 100%;
  border-radius: 8px;
  border: 1px solid #e0e0e0;
  display: block;
}

.telemetry-power-confirm-actions {
  display: flex;
  gap: 10px;
  justify-content: flex-end;
  margin-top: 18px;
}

.telemetry-pi-status {
  display: flex;
  align-items: center;
  font-size: 13px;
  color: #444;
  margin: 0 0 10px;
}

.telemetry-auto-recover-toggle {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 8px 0 12px;
  font-size: 13px;
  line-height: 1.4;
  cursor: pointer;
}
.telemetry-auto-recover-toggle input[type=checkbox] {
  margin-top: 2px;
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}

.backoffice-telemetry-uptime {
  margin-top: 24px;
}
.backoffice-telemetry-uptime h2 {
  font-size: 18px;
  margin-bottom: 8px;
}
.backoffice-telemetry-uptime .telemetry-uptime-chart {
  height: 140px;
}

.telemetry-uptime-legend {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
  margin-bottom: 10px;
  font-size: 12px;
  color: #444;
}
.telemetry-uptime-legend > span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.telemetry-uptime-legend .telemetry-uptime-swatch {
  width: 14px;
  height: 3px;
  border-radius: 2px;
  display: inline-block;
}
.telemetry-uptime-legend .telemetry-uptime-swatch-server {
  background: #1565c0;
}
.telemetry-uptime-legend .telemetry-uptime-swatch-pi {
  background: #b45309;
}
.telemetry-uptime-legend .telemetry-uptime-hint {
  color: #999;
  font-style: italic;
}

.backoffice-telemetry-faults,
.backoffice-telemetry-commands {
  margin: 24px 0;
}
.backoffice-telemetry-faults .telemetry-fault-extra-sources,
.backoffice-telemetry-commands .telemetry-fault-extra-sources {
  color: #999;
  font-size: 11.5px;
}

.modal.modal-telemetry-schedule.open {
  display: flex !important;
  align-items: center;
  justify-content: center;
}
.modal.modal-telemetry-schedule .content-modal {
  margin: 0;
  top: auto;
  transform: none;
  max-width: 640px;
  width: calc(100% - 2rem);
  max-height: calc(100vh - 4rem);
  overflow-y: auto;
  padding: 1.5rem 1.5rem 2rem;
}
.modal.modal-telemetry-schedule .modal-content h1 {
  font-size: 1.2rem;
  margin: 0 0 0.5rem;
}

.telemetry-off-schedule-grid-wrapper {
  overflow-x: auto;
  margin: 12px 0 16px;
}

.telemetry-off-schedule-grid {
  border-collapse: collapse;
  width: 100%;
  font-size: 12px;
  text-align: center;
}
.telemetry-off-schedule-grid th {
  font-weight: 600;
  color: #555;
  padding: 4px 2px;
}
.telemetry-off-schedule-grid .telemetry-off-schedule-day-header {
  cursor: pointer;
  user-select: none;
  border-radius: 4px;
}
.telemetry-off-schedule-grid .telemetry-off-schedule-day-header:hover {
  color: var(--base, #ffffff);
  background-color: #f0f0f0;
}
.telemetry-off-schedule-grid td {
  padding: 2px;
  border: 1px solid #eee;
}
.telemetry-off-schedule-grid .telemetry-off-schedule-hour-col {
  color: #888;
  font-variant-numeric: tabular-nums;
  text-align: right;
  padding-right: 6px;
  white-space: nowrap;
}
.telemetry-off-schedule-grid input[type=checkbox] {
  margin: 0;
  cursor: pointer;
}
.telemetry-off-schedule-grid .telemetry-off-schedule-8am-row td {
  border-top: 2px solid var(--base, #ffffff);
}

.button-create-account {
  bottom: 0;
  z-index: 99;
  height: 6rem;
  width: 100%;
  left: 0;
  gap: 1rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.contact-us-link {
  color: var(--blue, #3b82f6);
  font-weight: bold;
  text-decoration: underline;
}

.home-main.experiment {
  height: auto;
  align-items: start;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 6rem;
  row-gap: 6rem;
  row-gap: 6rem;
  justify-content: center;
  text-align: center;
  padding: 3rem 3rem 9rem;
  row-gap: 6rem;
}
.home-main.experiment h1 {
  font-size: 3rem !important;
  margin-top: 3.75rem;
}
.home-main.experiment h2 {
  font-size: 2rem !important;
  margin-bottom: 3rem;
}
.home-main.experiment .filters {
  display: flex;
  gap: 2rem;
  flex-direction: column;
  word-wrap: break-word;
}
.home-main.experiment .filters .filters-for-group-photos h3,
.home-main.experiment .filters .filters-for-individual-photos h3 {
  margin-bottom: 1.5rem;
}
.home-main.experiment .filters .ai-filters {
  align-items: start;
  gap: 1rem;
  list-style: none;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
}
.home-main.experiment .filters .ai-filters a {
  align-items: center;
  text-decoration: none;
  color: var(--black, #121212);
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
  border-radius: 0.5rem;
  /* 2rem = gap from .ai-filters
     5 = gaps between 6 elements
  */
  width: calc((100% - 1rem * 13) / 14);
  min-width: 75px;
}
.home-main.experiment .filters .ai-filters a p, .home-main.experiment .filters .ai-filters a .number-of-devices-label {
  margin-top: 0.5rem;
}
.home-main.experiment .filters .ai-filters a:hover .experience {
  opacity: 1;
  visibility: visible;
}
.home-main.experiment .filters .ai-filters .experience {
  width: 100%;
  background: rgba(0, 0, 0, 0.5); /* Fundo semi-transparente */
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 1rem;
  font-weight: 700;
  border-radius: 0.5rem;
  transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
  opacity: 0;
  visibility: hidden;
  aspect-ratio: 154/154;
}
@media only screen and (max-width: 560px) {
  .home-main.experiment .filters .ai-filters .experience {
    font-size: 0.65rem;
  }
}
@media only screen and (max-width: 450px) {
  .home-main.experiment .filters .ai-filters .experience {
    font-size: 0.65rem;
  }
}
.home-main.experiment .filters .ai-filters img {
  aspect-ratio: 154/154;
  background-color: var(--white, #ffffff);
  border-radius: 0.5rem;
  box-shadow: 0 1px 12px rgba(204, 204, 204, 0.25);
  height: auto;
  object-fit: cover;
  width: 100%;
}
@media only screen and (max-width: 767px) {
  .home-main.experiment {
    padding: 3rem 0 9rem;
  }
}

.home-main--experiment__section {
  width: 100%;
}

.object-position-top {
  object-position: top;
}

.google-maraca-body {
  --gm-blue: #4285F4;
  --gm-purple: #9B72CB;
  --gm-pink: #D96570;
  --gm-navy: #0B2C5E;
  --gm-green: #009C3B;
  --gm-green-dark: #006B27;
  --gm-yellow: #FFDF00;
  --gm-yellow-dark: #F4D000;
  --gm-black: #1A1A1A;
  --gm-gray-50: #F5F5F5;
  --gm-gray-100: #F8FAFC;
  --gm-gray-200: #E5E7EB;
  --gm-gray-500: #6B7280;
  --gm-gemini-gradient: linear-gradient(95deg, #4285F4 0%, #9B72CB 50%, #D96570 100%);
  --gm-green-gradient: linear-gradient(95deg, #FFDF00 0%, #009C3B 70%, #006B27 100%);
  --gm-yellow-gradient: linear-gradient(95deg, #FFDF00 0%, #F4D000 100%);
  --gm-font-display: "Google Sans", "Inter", system-ui, sans-serif;
  --gm-font-ui: "Google Sans", "Inter", system-ui, sans-serif;
  --gm-kiosk-w: 1080px;
  --gm-kiosk-h: 1920px;
  margin: 0;
  padding: 0;
  background: #000;
  overflow: hidden;
  font-family: var(--gm-font-ui);
  -webkit-font-smoothing: antialiased;
  color: var(--gm-black);
  user-select: none;
  -webkit-user-select: none;
  touch-action: manipulation;
  @import url("https://fonts.googleapis.com/css2?family=Google+Sans:wght@400;500;600;700;800;900&family=Inter:wght@400;500;600;700;800;900&display=swap");
}
.google-maraca-body .gm-stage-wrapper {
  position: fixed;
  inset: 0;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
}
.google-maraca-body .gm-stage {
  width: var(--gm-kiosk-w);
  height: var(--gm-kiosk-h);
  position: relative;
  overflow: hidden;
  background: #fff;
  transform-origin: center center;
  flex-shrink: 0;
}
.google-maraca-body .gm-screen {
  position: absolute;
  inset: 0;
  display: none;
  background: #fff;
}
.google-maraca-body .gm-screen.is-active {
  display: block;
}
.google-maraca-body .gm-stepheader {
  position: absolute;
  top: 32px;
  left: 0;
  right: 0;
  padding: 32px 56px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  z-index: 5;
}
.google-maraca-body .gm-stepheader .gm-stepheader__back {
  display: flex;
  align-items: center;
  gap: 14px;
  font-weight: 600;
  font-size: 26px;
  color: var(--gm-black);
  letter-spacing: 1.8px;
  background: none;
  border: none;
  cursor: pointer;
}
.google-maraca-body .gm-stepheader .gm-stepheader__step {
  font-weight: 600;
  font-size: 26px;
  color: rgba(26, 26, 26, 0.5);
  letter-spacing: 1.8px;
  text-transform: uppercase;
}
.google-maraca-body .gm-cobrand {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  padding: 14px 24px;
  border-radius: 999px;
  background: var(--gm-black);
  color: #fff;
  font-family: var(--gm-font-ui);
  font-weight: 600;
  font-size: 22px;
  letter-spacing: 0.2px;
  white-space: nowrap;
  line-height: 1;
}
.google-maraca-body .gm-cobrand.gm-cobrand--dark {
  background: rgba(255, 255, 255, 0.14);
  backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.22);
}
.google-maraca-body .gm-cobrand .gm-cobrand__sparkle {
  display: block;
}
.google-maraca-body .gm-cobrand .gm-cobrand__gemini {
  font-weight: 800;
  background: var(--gm-gemini-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.google-maraca-body .gm-cobrand .gm-cobrand__cross {
  opacity: 0.55;
  font-weight: 400;
}
.google-maraca-body .gm-cobrand .gm-cobrand__cbf {
  font-weight: 800;
  color: var(--gm-yellow);
}
.google-maraca-body .gm-cobrand.gm-cobrand--dark .gm-cobrand__cbf {
  color: #fff;
}
.google-maraca-body .gm-cta {
  border: none;
  cursor: pointer;
  background: var(--gm-gemini-gradient);
  color: #fff;
  padding: 38px 64px;
  border-radius: 999px;
  font-family: var(--gm-font-ui);
  font-weight: 800;
  font-size: 40px;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  display: inline-flex;
  align-items: center;
  gap: 22px;
  box-shadow: 0 18px 40px rgba(66, 133, 244, 0.32), inset 0 1px 0 rgba(255, 255, 255, 0.25);
}
.google-maraca-body .gm-cta.gm-cta--green {
  background: var(--gm-green-gradient);
}
.google-maraca-body .gm-cta.gm-cta--yellow {
  background: var(--gm-yellow-gradient);
  color: var(--gm-black);
}
.google-maraca-body .gm-cta.gm-cta--dark {
  background: var(--gm-black);
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.32);
}
.google-maraca-body .gm-cta.gm-cta--md {
  padding: 26px 44px;
  font-size: 30px;
  gap: 16px;
}
.google-maraca-body .gm-cta:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}
.google-maraca-body .gm-sparkle {
  display: block;
}
.google-maraca-body .gm-floating-sparkles {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.google-maraca-body .gm-screen-attractor {
  background: #fff;
}
.google-maraca-body .gm-screen-attractor .gm-attractor__bg {
  position: absolute;
  inset: 0;
  background: radial-gradient(120% 60% at 100% 0%, rgba(255, 223, 0, 0.35) 0%, rgba(255, 223, 0, 0) 55%), radial-gradient(90% 60% at 0% 100%, rgba(0, 156, 59, 0.32) 0%, rgba(0, 156, 59, 0) 55%), radial-gradient(80% 60% at 50% 35%, rgba(66, 133, 244, 0.18) 0%, rgba(66, 133, 244, 0) 60%);
}
.google-maraca-body .gm-screen-attractor .gm-attractor__cobrand {
  position: absolute;
  top: 100px;
  right: 56px;
}
.google-maraca-body .gm-screen-attractor .gm-attractor__sparkle--1 {
  position: absolute;
  top: 220px;
  left: 90px;
}
.google-maraca-body .gm-screen-attractor .gm-attractor__sparkle--2 {
  position: absolute;
  top: 420px;
  right: 110px;
}
.google-maraca-body .gm-screen-attractor .gm-attractor__sparkle--3 {
  position: absolute;
  top: 1420px;
  left: 100px;
}
.google-maraca-body .gm-screen-attractor .gm-attractor__eyebrow {
  position: absolute;
  top: 280px;
  left: 80px;
  font-weight: 700;
  font-size: 28px;
  color: var(--gm-green);
  letter-spacing: 4px;
  text-transform: uppercase;
}
.google-maraca-body .gm-screen-attractor .gm-attractor__headline {
  position: absolute;
  top: 360px;
  left: 80px;
  right: 80px;
}
.google-maraca-body .gm-screen-attractor .gm-attractor__headline h1 {
  margin: 0;
  font-family: var(--gm-font-display);
  font-weight: 900;
  font-size: 148px;
  line-height: 0.92;
  color: var(--gm-navy);
  letter-spacing: -3px;
  text-transform: uppercase;
}
.google-maraca-body .gm-screen-attractor .gm-attractor__sub {
  margin-top: 36px;
  font-family: var(--gm-font-display);
  font-weight: 800;
  font-size: 78px;
  line-height: 1;
  color: var(--gm-black);
  letter-spacing: -1.2px;
  text-transform: uppercase;
}
.google-maraca-body .gm-screen-attractor .gm-attractor__sub-gemini {
  background: var(--gm-gemini-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.google-maraca-body .gm-screen-attractor .gm-attractor__hero {
  position: absolute;
  top: 880px;
  right: -60px;
  width: 520px;
  height: 660px;
  transform: rotate(6deg);
  border-radius: 32px;
  object-fit: cover;
  filter: drop-shadow(0 40px 60px rgba(11, 44, 94, 0.25));
}
.google-maraca-body .gm-screen-attractor .gm-attractor__preview {
  position: absolute;
  top: 880px;
  right: 60px;
  transform: rotate(-3deg);
  width: 300px;
  height: auto;
  max-height: 420px;
  border-radius: 22px;
  object-fit: contain;
  background: #fff;
  box-shadow: 0 28px 56px rgba(11, 44, 94, 0.28), 0 8px 20px rgba(11, 44, 94, 0.14);
  z-index: 2;
}
.google-maraca-body .gm-screen-attractor .gm-attractor__preview-caption {
  position: absolute;
  top: 1330px;
  right: 60px;
  width: 300px;
  text-align: center;
  font-weight: 600;
  font-size: 22px;
  color: var(--gm-gray-500);
  letter-spacing: 1.6px;
  text-transform: uppercase;
  z-index: 2;
}
.google-maraca-body .gm-screen-attractor .gm-attractor__cta-area {
  position: absolute;
  bottom: 280px;
  left: 80px;
  right: 80px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 28px;
}
.google-maraca-body .gm-screen-attractor .gm-attractor__cta-hint {
  font-weight: 500;
  font-size: 26px;
  color: var(--gm-gray-500);
  display: flex;
  align-items: center;
  gap: 12px;
}
.google-maraca-body .gm-screen-attractor .gm-attractor__cta-hint::before {
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: var(--gm-green);
}
.google-maraca-body .gm-screen-attractor .gm-attractor__footer {
  position: absolute;
  bottom: 100px;
  left: 80px;
  right: 80px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-top: 1px solid rgba(11, 44, 94, 0.12);
  padding-top: 36px;
  font-size: 22px;
  color: var(--gm-gray-500);
  font-weight: 500;
}
.google-maraca-body .gm-screen-attractor .gm-attractor__footer-tag {
  font-weight: 700;
  color: var(--gm-navy);
}
.google-maraca-body .gm-screen-attractor.gm-screen-attractor--figurinha .gm-attractor__eyebrow {
  color: var(--gm-green);
}
.google-maraca-body .gm-screen-attractor.gm-screen-attractor--figurinha .gm-attractor__cta-hint::before {
  background: var(--gm-yellow);
}
.google-maraca-body .gm-screen-name {
  background: #fff;
}
.google-maraca-body .gm-screen-name .gm-name__title-wrap {
  position: absolute;
  top: 280px;
  left: 80px;
  right: 80px;
  text-align: center;
}
.google-maraca-body .gm-screen-name .gm-name__eyebrow {
  font-weight: 600;
  font-size: 32px;
  color: var(--gm-green);
  letter-spacing: 3px;
  text-transform: uppercase;
}
.google-maraca-body .gm-screen-name .gm-name__title {
  font-family: var(--gm-font-display);
  font-weight: 900;
  font-size: 128px;
  color: var(--gm-navy);
  margin-top: 16px;
  letter-spacing: -3px;
  text-transform: uppercase;
}
.google-maraca-body .gm-screen-name .gm-name__field-wrap {
  position: absolute;
  top: 580px;
  left: 80px;
  right: 80px;
}
.google-maraca-body .gm-screen-name .gm-name__field {
  display: block;
  width: 100%;
  box-sizing: border-box;
  height: 220px;
  padding: 0 32px;
  border-radius: 28px;
  background: var(--gm-gray-100);
  border: 3px solid var(--gm-navy);
  text-align: center;
  font-family: var(--gm-font-display);
  font-weight: 900;
  font-size: 128px;
  color: var(--gm-navy);
  letter-spacing: 6px;
  text-transform: uppercase;
  box-shadow: 0 24px 60px rgba(11, 44, 94, 0.12);
  outline: none;
  -webkit-appearance: none;
  appearance: none;
}
.google-maraca-body .gm-screen-name .gm-name__field::placeholder {
  color: rgba(11, 44, 94, 0.22);
  font-weight: 700;
  letter-spacing: 4px;
}
.google-maraca-body .gm-screen-name .gm-name__field:focus {
  border-color: var(--gm-green);
}
.google-maraca-body .gm-screen-name .gm-name__meta {
  margin-top: 22px;
  display: flex;
  justify-content: space-between;
  font-size: 24px;
  color: var(--gm-gray-500);
  font-weight: 500;
}
.google-maraca-body .gm-screen-name .gm-name__cta {
  position: absolute;
  top: 950px;
  left: 80px;
  right: 80px;
  display: flex;
  justify-content: center;
}
.google-maraca-body .gm-screen-capture {
  background: #fff;
}
.google-maraca-body .gm-screen-capture .gm-capture__heading {
  position: absolute;
  top: 240px;
  left: 80px;
  right: 80px;
}
.google-maraca-body .gm-screen-capture .gm-capture__eyebrow {
  font-weight: 600;
  font-size: 28px;
  color: var(--gm-green);
  letter-spacing: 3px;
  text-transform: uppercase;
}
.google-maraca-body .gm-screen-capture .gm-capture__title {
  font-family: var(--gm-font-display);
  font-weight: 900;
  font-size: 88px;
  color: var(--gm-navy);
  margin-top: 12px;
  line-height: 0.95;
  letter-spacing: -1.8px;
  text-transform: uppercase;
}
.google-maraca-body .gm-screen-capture .gm-capture__viewport {
  position: absolute;
  top: 560px;
  left: 80px;
  right: 80px;
  height: 1080px;
  border-radius: 32px;
  overflow: hidden;
  background: #0B1220;
  box-shadow: 0 24px 60px rgba(11, 44, 94, 0.18);
}
.google-maraca-body .gm-screen-capture .gm-capture__video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scaleX(-1);
}
.google-maraca-body .gm-screen-capture .gm-capture__live-pill {
  position: absolute;
  top: 32px;
  left: 32px;
  padding: 12px 22px;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.55);
  backdrop-filter: blur(20px);
  color: #fff;
  font-weight: 700;
  font-size: 20px;
  letter-spacing: 2px;
  text-transform: uppercase;
  display: inline-flex;
  align-items: center;
  gap: 12px;
}
.google-maraca-body .gm-screen-capture .gm-capture__live-pill::before {
  content: "";
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: #ef4444;
}
.google-maraca-body .gm-screen-capture .gm-capture__overlay {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.google-maraca-body .gm-screen-capture .gm-capture__countdown {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);
  display: none;
  align-items: center;
  justify-content: center;
  font-family: var(--gm-font-display);
  font-weight: 900;
  font-size: 480px;
  color: #fff;
  line-height: 1;
  text-shadow: 0 8px 40px rgba(0, 0, 0, 0.5);
}
.google-maraca-body .gm-screen-capture .gm-capture__countdown.is-active {
  display: flex;
}
.google-maraca-body .gm-screen-capture .gm-capture__cta-area {
  position: absolute;
  bottom: 140px;
  left: 80px;
  right: 80px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 24px;
}
.google-maraca-body .gm-screen-capture .gm-capture__flip {
  width: 140px;
  height: 140px;
  border-radius: 999px;
  border: 3px solid var(--gm-navy);
  background: #fff;
  color: var(--gm-navy);
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 140px;
  cursor: pointer;
  box-shadow: 0 8px 24px rgba(11, 44, 94, 0.08);
}
.google-maraca-body .gm-screen-confirm {
  background: #fff;
}
.google-maraca-body .gm-screen-confirm .gm-confirm__heading {
  position: absolute;
  top: 260px;
  left: 80px;
  right: 80px;
}
.google-maraca-body .gm-screen-confirm .gm-confirm__eyebrow {
  font-weight: 600;
  font-size: 28px;
  color: var(--gm-green);
  letter-spacing: 3px;
  text-transform: uppercase;
}
.google-maraca-body .gm-screen-confirm .gm-confirm__title {
  font-family: var(--gm-font-display);
  font-weight: 900;
  font-size: 96px;
  color: var(--gm-navy);
  margin-top: 12px;
  line-height: 0.95;
  letter-spacing: -2px;
  text-transform: uppercase;
}
.google-maraca-body .gm-screen-confirm .gm-confirm__photo {
  position: absolute;
  top: 600px;
  left: 80px;
  right: 80px;
  height: 980px;
  border-radius: 32px;
  overflow: hidden;
  background: #000;
  box-shadow: 0 30px 60px rgba(11, 44, 94, 0.25);
}
.google-maraca-body .gm-screen-confirm .gm-confirm__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scaleX(-1);
}
.google-maraca-body .gm-screen-confirm .gm-confirm__sparkle-corner {
  position: absolute;
  top: 32px;
  right: 32px;
  z-index: 2;
}
.google-maraca-body .gm-screen-confirm .gm-confirm__pill {
  position: absolute;
  bottom: 32px;
  left: 32px;
  padding: 14px 24px;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.55);
  backdrop-filter: blur(20px);
  color: #fff;
  font-weight: 600;
  font-size: 22px;
  letter-spacing: 1.6px;
  text-transform: uppercase;
  display: inline-flex;
  align-items: center;
  gap: 12px;
}
.google-maraca-body .gm-screen-confirm .gm-confirm__pill::before {
  content: "";
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: var(--gm-green);
}
.google-maraca-body .gm-screen-confirm .gm-confirm__cta-area {
  position: absolute;
  bottom: 140px;
  left: 80px;
  right: 80px;
  display: flex;
  gap: 20px;
}
.google-maraca-body .gm-screen-confirm .gm-confirm__redo, .google-maraca-body .gm-screen-confirm .gm-confirm__use {
  height: 160px;
  border-radius: 28px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  font-family: var(--gm-font-ui);
  font-weight: 800;
  font-size: 32px;
  letter-spacing: 1.2px;
  text-transform: uppercase;
}
.google-maraca-body .gm-screen-confirm .gm-confirm__redo {
  flex: 1;
  border: 3px solid var(--gm-navy);
  background: #fff;
  color: var(--gm-navy);
}
.google-maraca-body .gm-screen-confirm .gm-confirm__use {
  flex: 1.6;
  border: none;
  background: var(--gm-green-gradient);
  color: #fff;
  box-shadow: 0 18px 40px rgba(0, 156, 59, 0.32), inset 0 1px 0 rgba(255, 255, 255, 0.25);
  font-size: 36px;
  gap: 22px;
}
.google-maraca-body .gm-screen-loading {
  background: var(--gm-yellow);
}
.google-maraca-body .gm-screen-loading.gm-screen-loading--figurinha {
  background: var(--gm-yellow);
}
.google-maraca-body .gm-screen-loading.gm-screen-loading--figurinha .gm-loading__bg {
  background: linear-gradient(180deg, #FFDF00 0%, #FFD200 30%, #4285F4 100%);
}
.google-maraca-body .gm-screen-loading .gm-loading__bg {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, #FFDF00 0%, #FFD200 40%, #009C3B 100%);
}
.google-maraca-body .gm-screen-loading .gm-loading__cobrand {
  position: absolute;
  top: 100px;
  right: 56px;
}
.google-maraca-body .gm-screen-loading .gm-loading__sparkle-area {
  position: absolute;
  top: 520px;
  left: 50%;
  transform: translateX(-50%);
  width: 360px;
  height: 360px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.google-maraca-body .gm-screen-loading .gm-loading__ring {
  position: absolute;
  border-radius: 999px;
}
.google-maraca-body .gm-screen-loading .gm-loading__ring.gm-loading__ring--1 {
  width: 360px;
  height: 360px;
  border: 2px solid rgba(255, 255, 255, 0.25);
  animation: gm-ring-pulse 2.5s ease-in-out infinite;
}
.google-maraca-body .gm-screen-loading .gm-loading__ring.gm-loading__ring--2 {
  width: 260px;
  height: 260px;
  border: 3px solid rgba(255, 255, 255, 0.45);
  animation: gm-ring-pulse 2.5s ease-in-out 0.4s infinite;
}
.google-maraca-body .gm-screen-loading .gm-loading__ring.gm-loading__ring--3 {
  width: 180px;
  height: 180px;
  background: rgba(255, 255, 255, 0.18);
  backdrop-filter: blur(12px);
}
@keyframes gm-ring-pulse {
  0%, 100% {
    transform: scale(1);
    opacity: 0.7;
  }
  50% {
    transform: scale(1.06);
    opacity: 1;
  }
}
.google-maraca-body .gm-screen-loading .gm-loading__copy {
  position: absolute;
  top: 1020px;
  left: 80px;
  right: 80px;
  text-align: center;
}
.google-maraca-body .gm-screen-loading .gm-loading__copy-title {
  font-family: var(--gm-font-display);
  font-weight: 900;
  font-size: 64px;
  color: #fff;
  line-height: 1.05;
  letter-spacing: -1px;
  text-transform: uppercase;
  text-shadow: 0 4px 24px rgba(0, 0, 0, 0.18);
}
.google-maraca-body .gm-screen-loading .gm-loading__copy-name {
  margin-top: 40px;
  font-weight: 600;
  font-size: 32px;
  color: rgba(255, 255, 255, 0.92);
  letter-spacing: 2px;
  text-transform: uppercase;
}
.google-maraca-body .gm-screen-loading .gm-loading__name-pill {
  color: var(--gm-navy);
  background: #fff;
  padding: 6px 18px;
  border-radius: 12px;
}
.google-maraca-body .gm-screen-loading .gm-loading__progress {
  position: absolute;
  bottom: 380px;
  left: 0;
  right: 0;
  display: flex;
  justify-content: center;
  gap: 24px;
}
.google-maraca-body .gm-screen-loading .gm-loading__dot {
  width: 24px;
  height: 24px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.45);
}
.google-maraca-body .gm-screen-loading .gm-loading__dot.gm-loading__dot--active {
  width: 88px;
  background: #fff;
}
.google-maraca-body .gm-screen-loading .gm-loading__readout {
  position: absolute;
  bottom: 180px;
  left: 80px;
  right: 80px;
  text-align: center;
  display: flex;
  justify-content: center;
  gap: 32px;
  color: rgba(255, 255, 255, 0.85);
  font-weight: 600;
  font-size: 22px;
  letter-spacing: 1.4px;
  text-transform: uppercase;
}
.google-maraca-body .gm-screen-loading .gm-loading__readout .gm-loading__sep {
  opacity: 0.5;
}
.google-maraca-body .gm-screen-result {
  background: var(--gm-gray-50);
}
.google-maraca-body .gm-screen-result .gm-result__hero {
  position: absolute;
  top: 100px;
  left: 56px;
  right: 56px;
  height: 1280px;
  background: #fff;
  border-radius: 36px;
  overflow: hidden;
  box-shadow: 0 24px 60px rgba(11, 44, 94, 0.18);
}
.google-maraca-body .gm-screen-result .gm-result__loading {
  position: absolute;
  top: 130px;
  left: 60px;
  right: 60px;
  height: 1140px;
  border-radius: 24px;
  background: linear-gradient(180deg, #FFDF00 0%, #FFD200 40%, #009C3B 100%);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 24px;
  padding: 0 40px;
  text-align: center;
  z-index: 4;
}
.google-maraca-body .gm-screen-result .gm-result__loading-sparkle {
  width: 320px;
  height: 320px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.google-maraca-body .gm-screen-result .gm-result__loading-copy {
  font-family: var(--gm-font-display);
  font-weight: 900;
  font-size: 56px;
  color: #fff;
  line-height: 1.05;
  letter-spacing: -1px;
  text-transform: uppercase;
  text-shadow: 0 4px 24px rgba(0, 0, 0, 0.18);
}
.google-maraca-body .gm-screen-result .gm-result__loading-name {
  font-weight: 600;
  font-size: 26px;
  color: rgba(255, 255, 255, 0.92);
  letter-spacing: 2px;
  text-transform: uppercase;
}
.google-maraca-body .gm-screen-result.gm-screen-result--figurinha .gm-result__loading {
  background: linear-gradient(180deg, #FFDF00 0%, #FFD200 30%, #4285F4 100%);
}
.google-maraca-body .gm-screen-result.is-loading .gm-result__image {
  display: none;
}
.google-maraca-body .gm-screen-result.is-loading .gm-result__action[data-action=print] {
  opacity: 0.45;
  pointer-events: none;
}
.google-maraca-body .gm-screen-result:not(.is-loading) .gm-result__loading {
  display: none;
}
.google-maraca-body .gm-screen-result .gm-result__eyebrow-wrap {
  position: absolute;
  top: 40px;
  left: 0;
  right: 0;
  display: flex;
  justify-content: center;
  z-index: 3;
}
.google-maraca-body .gm-screen-result .gm-result__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  padding: 14px 28px;
  border-radius: 999px;
  background: rgba(0, 156, 59, 0.12);
  color: var(--gm-green-dark);
  font-weight: 700;
  font-size: 24px;
  letter-spacing: 2px;
  text-transform: uppercase;
}
.google-maraca-body .gm-screen-result .gm-result__image {
  position: absolute;
  top: 130px;
  left: 60px;
  right: 60px;
  width: calc(100% - 120px);
  height: 1140px;
  object-fit: contain;
  object-position: center;
  border-radius: 24px;
  background: #fff;
}
.google-maraca-body .gm-screen-result .gm-result__sparkle-tl {
  position: absolute;
  top: 110px;
  left: 60px;
  z-index: 2;
}
.google-maraca-body .gm-screen-result .gm-result__sparkle-tr {
  position: absolute;
  top: 180px;
  right: 80px;
  z-index: 2;
}
.google-maraca-body .gm-screen-result .gm-result__sparkle-bl {
  position: absolute;
  bottom: 240px;
  left: 80px;
  z-index: 2;
}
.google-maraca-body .gm-screen-result .gm-result__actions {
  position: absolute;
  top: 1430px;
  left: 56px;
  right: 56px;
  display: flex;
  gap: 20px;
}
.google-maraca-body .gm-screen-result .gm-result__action {
  flex: 1;
  height: 200px;
  border-radius: 28px;
  border: none;
  cursor: pointer;
  background: #fff;
  color: var(--gm-navy);
  box-shadow: 0 8px 24px rgba(11, 44, 94, 0.08);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  font-family: var(--gm-font-ui);
  font-weight: 800;
  font-size: 28px;
  letter-spacing: 1px;
  text-transform: uppercase;
}
.google-maraca-body .gm-screen-result .gm-result__action--qr {
  flex: 1.4;
  display: flex;
  flex-direction: row;
  gap: 22px;
  padding: 0 26px;
  text-align: left;
  box-shadow: 0 8px 24px rgba(11, 44, 94, 0.08), inset 0 0 0 2px var(--gm-navy);
}
.google-maraca-body .gm-screen-result .gm-result__qr-thumb {
  width: 156px;
  height: 156px;
  background: #fff;
  border-radius: 10px;
  padding: 6px;
  box-shadow: inset 0 0 0 1px var(--gm-gray-200);
  flex: 0 0 156px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.google-maraca-body .gm-screen-result .gm-result__qr-thumb img {
  width: 100%;
  height: 100%;
}
.google-maraca-body .gm-screen-result .gm-result__qr-text {
  flex: 1;
  min-width: 0;
}
.google-maraca-body .gm-screen-result .gm-result__qr-label {
  font-family: var(--gm-font-ui);
  font-weight: 800;
  font-size: 30px;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--gm-navy);
}
.google-maraca-body .gm-screen-result .gm-result__qr-sub {
  margin-top: 6px;
  font-size: 18px;
  color: var(--gm-gray-500);
  font-weight: 500;
  line-height: 1.3;
}
.google-maraca-body .gm-screen-result .gm-result__restart {
  position: absolute;
  top: 1690px;
  left: 56px;
  right: 56px;
  height: 72px;
  border: none;
  cursor: pointer;
  background: transparent;
  color: var(--gm-gray-500);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  font-family: var(--gm-font-ui);
  font-weight: 500;
  font-size: 26px;
  letter-spacing: 0.4px;
}
.google-maraca-body .gm-screen-result .gm-result__restart span {
  text-decoration: underline;
  text-underline-offset: 6px;
  text-decoration-thickness: 2px;
}
.google-maraca-body .gm-screen-result .gm-result__restart svg {
  opacity: 0.7;
}
.google-maraca-body .gm-screen-thanks {
  background: #fff;
}
.google-maraca-body .gm-screen-thanks .gm-thanks__bg {
  position: absolute;
  inset: 0;
  background: radial-gradient(60% 60% at 50% 30%, rgba(0, 156, 59, 0.18) 0%, rgba(0, 156, 59, 0) 60%), radial-gradient(60% 60% at 50% 90%, rgba(255, 223, 0, 0.22) 0%, rgba(255, 223, 0, 0) 60%);
}
.google-maraca-body .gm-screen-thanks .gm-thanks__cobrand {
  position: absolute;
  top: 100px;
  right: 56px;
}
.google-maraca-body .gm-screen-thanks .gm-thanks__check {
  position: absolute;
  top: 240px;
  left: 50%;
  transform: translateX(-50%);
  width: 260px;
  height: 260px;
  border-radius: 999px;
  background: var(--gm-green);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 30px 60px rgba(0, 156, 59, 0.34);
}
.google-maraca-body .gm-screen-thanks .gm-thanks__title-wrap {
  position: absolute;
  top: 560px;
  left: 80px;
  right: 80px;
  text-align: center;
}
.google-maraca-body .gm-screen-thanks .gm-thanks__title {
  margin: 0;
  font-family: var(--gm-font-display);
  font-weight: 900;
  font-size: 116px;
  color: var(--gm-navy);
  letter-spacing: -2px;
  line-height: 0.95;
  text-transform: uppercase;
}
.google-maraca-body .gm-screen-thanks .gm-thanks__sub {
  margin-top: 36px;
  font-weight: 600;
  font-size: 36px;
  color: var(--gm-black);
  line-height: 1.3;
}
.google-maraca-body .gm-screen-thanks .gm-thanks__qr {
  position: absolute;
  top: 1120px;
  left: 50%;
  transform: translateX(-50%);
  width: 460px;
  padding: 32px;
  background: #fff;
  border-radius: 28px;
  box-shadow: 0 20px 50px rgba(11, 44, 94, 0.16);
  text-align: center;
}
.google-maraca-body .gm-screen-thanks .gm-thanks__qr img {
  width: 400px;
  height: 400px;
}
.google-maraca-body .gm-screen-thanks .gm-thanks__qr-meta {
  margin-top: 20px;
  font-size: 24px;
  color: var(--gm-gray-500);
  font-weight: 600;
  letter-spacing: 1.4px;
  text-transform: uppercase;
}
.google-maraca-body .gm-screen-thanks .gm-thanks__timer {
  position: absolute;
  bottom: 120px;
  left: 80px;
  right: 80px;
  text-align: center;
  font-size: 24px;
  color: var(--gm-gray-500);
  font-weight: 500;
}
.google-maraca-body .gm-screen-thanks .gm-thanks__timer .gm-thanks__timer-num {
  font-weight: 800;
  color: var(--gm-navy);
}
.google-maraca-body .gm-screen-splash {
  background: #000;
}
.google-maraca-body .gm-screen-splash.is-active {
  display: flex;
  align-items: center;
  justify-content: center;
}
.google-maraca-body .gm-screen-splash .gm-splash__sparkle {
  animation: gm-spin 8s linear infinite;
}
@keyframes gm-spin {
  to {
    transform: rotate(360deg);
  }
}
.google-maraca-body .gm-screen-error {
  background: var(--gm-gray-50);
}
.google-maraca-body .gm-screen-error .gm-error__center {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  padding: 0 80px;
}
.google-maraca-body .gm-screen-error .gm-error__icon {
  width: 160px;
  height: 160px;
  border-radius: 999px;
  background: rgba(220, 38, 38, 0.12);
  color: #DC2626;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 40px;
}
.google-maraca-body .gm-screen-error .gm-error__title {
  font-family: var(--gm-font-display);
  font-weight: 900;
  font-size: 84px;
  color: var(--gm-navy);
  margin: 0 0 24px;
  letter-spacing: -1.8px;
  text-transform: uppercase;
}
.google-maraca-body .gm-screen-error .gm-error__msg {
  font-weight: 500;
  font-size: 32px;
  color: var(--gm-gray-500);
  line-height: 1.4;
}
.google-maraca-body .gm-screen-error .gm-error__cta {
  margin-top: 60px;
  display: flex;
  gap: 20px;
  justify-content: center;
}
.google-maraca-body .gm-qr-modal {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.85);
  z-index: 1000;
  display: none;
}
.google-maraca-body .gm-qr-modal.is-active {
  display: flex;
  align-items: center;
  justify-content: center;
}
.google-maraca-body .gm-qr-modal__card {
  background: #fff;
  border-radius: 36px;
  padding: 60px 80px 56px;
  text-align: center;
  position: relative;
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.45);
}
.google-maraca-body .gm-qr-modal__close {
  position: absolute;
  top: 24px;
  right: 24px;
  width: 80px;
  height: 80px;
  border-radius: 999px;
  background: var(--gm-black);
  color: #fff;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.google-maraca-body .gm-qr-modal__eyebrow {
  font-weight: 700;
  font-size: 26px;
  color: var(--gm-green);
  letter-spacing: 3px;
  text-transform: uppercase;
  margin-bottom: 28px;
}
.google-maraca-body .gm-qr-modal__qr {
  display: block;
  width: 720px;
  height: 720px;
  margin: 0 auto;
  background: #fff;
}
.google-maraca-body .gm-qr-modal__sub {
  margin-top: 32px;
  font-size: 26px;
  color: var(--gm-gray-500);
  font-weight: 500;
}
.google-maraca-body .gm-screen-operator {
  background: #fff;
  padding: 80px;
  font-family: ui-monospace, monospace;
  color: var(--gm-black);
}
.google-maraca-body .gm-screen-operator h2 {
  font-size: 36px;
  margin: 0 0 24px;
}
.google-maraca-body .gm-screen-operator .gm-operator__row {
  display: flex;
  gap: 12px;
  margin-bottom: 20px;
  font-size: 22px;
}
.google-maraca-body .gm-screen-operator .gm-operator__label {
  font-weight: 700;
  min-width: 220px;
}
.google-maraca-body .gm-screen-operator .gm-operator__value {
  color: var(--gm-gray-500);
}

.unijui-fenasoja-body {
  --unijui-fenasoja-blue: #0E3D8F;
  --unijui-fenasoja-blue-deep: #0A2E6E;
  --unijui-fenasoja-blue-darker: #082358;
  --unijui-fenasoja-yellow: #FFC528;
  --unijui-fenasoja-field-bg: rgba(255, 255, 255, 0.08);
  --unijui-fenasoja-field-bg-focus: rgba(255, 255, 255, 0.18);
  --unijui-fenasoja-field-border: rgba(255, 255, 255, 0.18);
  --unijui-fenasoja-field-border-focus: #FFC528;
  --unijui-fenasoja-text-white: #ffffff;
  --unijui-fenasoja-text-soft: rgba(255, 255, 255, 0.78);
  --unijui-fenasoja-text-muted: rgba(255, 255, 255, 0.55);
  --unijui-fenasoja-error: #ff7a7a;
  --unijui-fenasoja-tag-pink: #E63B7A;
  --unijui-fenasoja-tag-orange: #F08A2A;
  --unijui-fenasoja-tag-blue: #1B7FE0;
  --unijui-fenasoja-key-bg: rgba(255, 255, 255, 0.10);
  --unijui-fenasoja-key-bg-hover: rgba(255, 255, 255, 0.18);
  --unijui-fenasoja-key-border: rgba(255, 255, 255, 0.14);
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100vh;
  touch-action: manipulation;
  font-family: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.unijui-fenasoja-body *,
.unijui-fenasoja-body *::before,
.unijui-fenasoja-body *::after {
  touch-action: manipulation;
}
.unijui-fenasoja-body {
  color: var(--unijui-fenasoja-text-white);
  background: radial-gradient(900px 700px at 20% -10%, #1a52b3 0%, transparent 60%), radial-gradient(800px 600px at 110% 110%, #0c3382 0%, transparent 55%), linear-gradient(180deg, var(--unijui-fenasoja-blue-deep) 0%, var(--unijui-fenasoja-blue-darker) 100%);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-tap-highlight-color: transparent;
  user-select: none;
  -webkit-user-select: none;
  overflow: hidden;
}
.unijui-fenasoja-body *, .unijui-fenasoja-body *::before, .unijui-fenasoja-body *::after {
  box-sizing: border-box;
}
.unijui-fenasoja-body .unijui-fenasoja-stage {
  width: 100%;
  height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  overflow: hidden;
}
.unijui-fenasoja-body .unijui-fenasoja-top {
  flex: 1 1 auto;
  overflow-y: auto;
  display: flex;
  justify-content: center;
  padding: 28px 24px 16px;
}
.unijui-fenasoja-body .unijui-fenasoja-card {
  width: 100%;
  max-width: 620px;
}
.unijui-fenasoja-body .unijui-fenasoja-brand {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  margin-bottom: 36px;
}
.unijui-fenasoja-body .unijui-fenasoja-brand img {
  width: 150px;
  height: auto;
  filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.25));
}
.unijui-fenasoja-body .unijui-fenasoja-tagline {
  display: flex;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  border-radius: 4px;
  overflow: hidden;
}
.unijui-fenasoja-body .unijui-fenasoja-tagline span {
  padding: 4px 10px;
  color: #fff;
}
.unijui-fenasoja-body .unijui-fenasoja-tagline .unijui-fenasoja-tagline-1 {
  background: var(--unijui-fenasoja-tag-pink);
}
.unijui-fenasoja-body .unijui-fenasoja-tagline .unijui-fenasoja-tagline-2 {
  background: var(--unijui-fenasoja-tag-orange);
}
.unijui-fenasoja-body .unijui-fenasoja-tagline .unijui-fenasoja-tagline-3 {
  background: var(--unijui-fenasoja-tag-blue);
}
.unijui-fenasoja-body .unijui-fenasoja-headline {
  text-align: center;
  margin: 4px 0 36px;
}
.unijui-fenasoja-body .unijui-fenasoja-headline h1 {
  margin: 0;
  font-size: clamp(24px, 3.6vw, 32px);
  line-height: 1.05;
  font-weight: 800;
}
.unijui-fenasoja-body .unijui-fenasoja-headline .unijui-fenasoja-headline-accent {
  display: block;
  color: var(--unijui-fenasoja-yellow);
}
.unijui-fenasoja-body .unijui-fenasoja-headline p, .unijui-fenasoja-body .unijui-fenasoja-headline .number-of-devices-label {
  margin: 12px auto 0;
  max-width: 420px;
  font-size: 15px;
  line-height: 1.45;
  color: var(--unijui-fenasoja-text-soft);
  font-weight: 400;
}
.unijui-fenasoja-body form {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.unijui-fenasoja-body .unijui-fenasoja-field {
  position: relative;
}
.unijui-fenasoja-body .unijui-fenasoja-field input {
  width: 100%;
  height: 64px;
  padding: 0 22px;
  border-radius: 999px;
  border: 1.5px solid var(--unijui-fenasoja-field-border);
  background: var(--unijui-fenasoja-field-bg);
  color: var(--unijui-fenasoja-text-white);
  font-family: inherit;
  font-size: 17px;
  font-weight: 500;
  outline: none;
  caret-color: var(--unijui-fenasoja-yellow);
  transition: background 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}
.unijui-fenasoja-body .unijui-fenasoja-field input::placeholder {
  color: var(--unijui-fenasoja-text-muted);
  font-weight: 400;
}
.unijui-fenasoja-body .unijui-fenasoja-field.is-focused input {
  background: var(--unijui-fenasoja-field-bg-focus);
  border-color: var(--unijui-fenasoja-field-border-focus);
  box-shadow: 0 0 0 4px rgba(255, 197, 40, 0.2);
}
.unijui-fenasoja-body .unijui-fenasoja-field.is-invalid input {
  border-color: var(--unijui-fenasoja-error);
  box-shadow: 0 0 0 4px rgba(255, 122, 122, 0.15);
}
.unijui-fenasoja-body .unijui-fenasoja-consent {
  margin-top: 4px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 18px;
  padding: 14px 16px;
}
.unijui-fenasoja-body .unijui-fenasoja-consent.is-invalid {
  border-color: var(--unijui-fenasoja-error);
  box-shadow: 0 0 0 3px rgba(255, 122, 122, 0.12);
}
.unijui-fenasoja-body .unijui-fenasoja-consent-row {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  cursor: pointer;
}
.unijui-fenasoja-body .unijui-fenasoja-consent-row input[type=checkbox] {
  appearance: none;
  -webkit-appearance: none;
  width: 26px;
  height: 26px;
  border-radius: 6px;
  border: 1.5px solid rgba(255, 255, 255, 0.45);
  background: transparent;
  flex: 0 0 26px;
  margin-top: 1px;
  cursor: pointer;
  position: relative;
}
.unijui-fenasoja-body .unijui-fenasoja-consent-row input[type=checkbox]:checked {
  background: var(--unijui-fenasoja-yellow);
  border-color: var(--unijui-fenasoja-yellow);
}
.unijui-fenasoja-body .unijui-fenasoja-consent-row input[type=checkbox]:checked::after {
  content: "";
  position: absolute;
  left: 7px;
  top: 3px;
  width: 7px;
  height: 13px;
  border: solid #0A2E6E;
  border-width: 0 3px 3px 0;
  transform: rotate(45deg);
}
.unijui-fenasoja-body .unijui-fenasoja-consent-label {
  flex: 1;
  font-size: 14px;
  line-height: 1.4;
  color: var(--unijui-fenasoja-text-soft);
  font-weight: 500;
}
.unijui-fenasoja-body .unijui-fenasoja-consent-label strong {
  color: #fff;
  font-weight: 600;
}
.unijui-fenasoja-body .unijui-fenasoja-read-link {
  color: var(--unijui-fenasoja-yellow);
  cursor: pointer;
  font-weight: 600;
  text-decoration: underline dotted;
  text-underline-offset: 3px;
  margin-left: 4px;
}
.unijui-fenasoja-body .unijui-fenasoja-modal-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(4, 16, 44, 0.72);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 1000;
  padding: 24px;
  animation: unijuiFenasojaFadeIn 0.18s ease-out;
}
.unijui-fenasoja-body .unijui-fenasoja-modal-backdrop.is-open {
  display: flex;
}
.unijui-fenasoja-body .unijui-fenasoja-modal {
  width: 100%;
  max-width: 640px;
  max-height: 86vh;
  background: linear-gradient(180deg, #0F408F 0%, #0A2E6E 100%);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 22px;
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.5), inset 0 1px 0 rgba(255, 255, 255, 0.08);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  animation: unijuiFenasojaModalIn 0.25s ease-out;
}
.unijui-fenasoja-body .unijui-fenasoja-modal-head {
  padding: 22px 24px 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.unijui-fenasoja-body .unijui-fenasoja-modal-head h3 {
  margin: 0;
  font-size: 16px;
  font-weight: 800;
  color: #fff;
  letter-spacing: 0.02em;
  line-height: 1.3;
}
.unijui-fenasoja-body .unijui-fenasoja-modal-close {
  flex: 0 0 auto;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.18);
  background: rgba(255, 255, 255, 0.06);
  color: #fff;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.15s ease;
}
.unijui-fenasoja-body .unijui-fenasoja-modal-close:hover {
  background: rgba(255, 255, 255, 0.14);
}
.unijui-fenasoja-body .unijui-fenasoja-modal-close:active {
  transform: scale(0.92);
}
.unijui-fenasoja-body .unijui-fenasoja-modal-body {
  padding: 18px 24px 22px;
  overflow-y: auto;
  color: var(--unijui-fenasoja-text-soft);
  font-size: 14px;
  line-height: 1.6;
  font-weight: 400;
}
.unijui-fenasoja-body .unijui-fenasoja-modal-body p, .unijui-fenasoja-body .unijui-fenasoja-modal-body .number-of-devices-label {
  margin: 0 0 12px;
}
.unijui-fenasoja-body .unijui-fenasoja-modal-body ul {
  margin: 0 0 12px;
  padding-left: 20px;
}
.unijui-fenasoja-body .unijui-fenasoja-modal-body li {
  margin-bottom: 6px;
}
.unijui-fenasoja-body .unijui-fenasoja-modal-body strong {
  color: #fff;
  font-weight: 600;
}
.unijui-fenasoja-body .unijui-fenasoja-modal-body::-webkit-scrollbar {
  width: 6px;
}
.unijui-fenasoja-body .unijui-fenasoja-modal-body::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.18);
  border-radius: 3px;
}
.unijui-fenasoja-body .unijui-fenasoja-modal-foot {
  padding: 14px 24px 22px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  display: flex;
  justify-content: flex-end;
}
.unijui-fenasoja-body .unijui-fenasoja-modal-foot button {
  height: 48px;
  padding: 0 28px;
  border: 0;
  border-radius: 999px;
  background: var(--unijui-fenasoja-yellow);
  color: var(--unijui-fenasoja-blue-darker);
  font-family: inherit;
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  cursor: pointer;
  box-shadow: 0 8px 18px rgba(255, 197, 40, 0.25);
}
.unijui-fenasoja-body .unijui-fenasoja-modal-foot button:active {
  transform: translateY(1px);
}
.unijui-fenasoja-body .unijui-fenasoja-submit-btn {
  margin-top: 8px;
  height: 70px;
  width: 100%;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(180deg, #FFD050 0%, var(--unijui-fenasoja-yellow) 100%);
  color: var(--unijui-fenasoja-blue-darker);
  font-family: inherit;
  font-size: 17px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  cursor: pointer;
  box-shadow: 0 14px 30px rgba(255, 197, 40, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}
.unijui-fenasoja-body .unijui-fenasoja-submit-btn:active {
  transform: translateY(1px);
}
.unijui-fenasoja-body .unijui-fenasoja-submit-btn .unijui-fenasoja-submit-arrow {
  font-size: 18px;
}
.unijui-fenasoja-body .unijui-fenasoja-submit-btn:disabled {
  background: rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.45);
  box-shadow: none;
  cursor: not-allowed;
  filter: none;
}
.unijui-fenasoja-body .unijui-fenasoja-submit-btn:disabled:active {
  transform: none;
}
.unijui-fenasoja-body .unijui-fenasoja-success {
  display: none;
  text-align: center;
  padding: 14px 6px 4px;
}
.unijui-fenasoja-body .unijui-fenasoja-success.is-active {
  display: block;
}
.unijui-fenasoja-body .unijui-fenasoja-success .unijui-fenasoja-success-check {
  width: 90px;
  height: 90px;
  margin: 4px auto 18px;
  border-radius: 50%;
  background: var(--unijui-fenasoja-yellow);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 14px 30px rgba(255, 197, 40, 0.35);
  animation: unijuiFenasojaPop 0.35s ease-out;
}
.unijui-fenasoja-body .unijui-fenasoja-success .unijui-fenasoja-success-check svg {
  width: 46px;
  height: 46px;
}
.unijui-fenasoja-body .unijui-fenasoja-success h2 {
  margin: 0 0 8px;
  font-size: 28px;
  font-weight: 800;
}
.unijui-fenasoja-body .unijui-fenasoja-success p, .unijui-fenasoja-body .unijui-fenasoja-success .number-of-devices-label {
  margin: 0 auto;
  max-width: 380px;
  font-size: 16px;
  line-height: 1.5;
  color: var(--unijui-fenasoja-text-soft);
}
.unijui-fenasoja-body .unijui-fenasoja-keyboard {
  flex: 0 0 auto;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.18) 0%, rgba(0, 0, 0, 0.32) 100%);
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  padding: 14px 16px 22px;
  box-shadow: 0 -10px 30px rgba(0, 0, 0, 0.25);
  display: none;
}
.unijui-fenasoja-body .unijui-fenasoja-keyboard.is-active {
  display: block;
}
.unijui-fenasoja-body .unijui-fenasoja-keyboard.unijui-fenasoja-mode-name .unijui-fenasoja-layout-name, .unijui-fenasoja-body .unijui-fenasoja-keyboard.unijui-fenasoja-mode-city .unijui-fenasoja-layout-city, .unijui-fenasoja-body .unijui-fenasoja-keyboard.unijui-fenasoja-mode-phone .unijui-fenasoja-layout-phone {
  display: flex;
}
.unijui-fenasoja-body .unijui-fenasoja-keyboard-inner {
  max-width: 760px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.unijui-fenasoja-body .unijui-fenasoja-kb-hint {
  text-align: center;
  font-size: 12px;
  color: var(--unijui-fenasoja-text-muted);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  margin-bottom: 4px;
}
.unijui-fenasoja-body .unijui-fenasoja-kb-hint strong {
  color: var(--unijui-fenasoja-yellow);
  font-weight: 700;
}
.unijui-fenasoja-body .unijui-fenasoja-layout {
  display: none;
  flex-direction: column;
  gap: 8px;
}
.unijui-fenasoja-body .unijui-fenasoja-layout.unijui-fenasoja-layout-phone {
  gap: 10px;
  align-items: center;
}
.unijui-fenasoja-body .unijui-fenasoja-kb-row {
  display: flex;
  gap: 6px;
  justify-content: center;
}
.unijui-fenasoja-body .unijui-fenasoja-kb-key {
  flex: 1 1 0;
  min-width: 0;
  height: 56px;
  border: 1px solid var(--unijui-fenasoja-key-border);
  background: var(--unijui-fenasoja-key-bg);
  color: #fff;
  font-family: inherit;
  font-size: 19px;
  font-weight: 600;
  border-radius: 10px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.08s ease, transform 0.05s ease;
  padding: 0 4px;
}
.unijui-fenasoja-body .unijui-fenasoja-kb-key:hover {
  background: var(--unijui-fenasoja-key-bg-hover);
}
.unijui-fenasoja-body .unijui-fenasoja-kb-key:active {
  background: var(--unijui-fenasoja-yellow);
  color: var(--unijui-fenasoja-blue-darker);
  transform: scale(0.96);
}
.unijui-fenasoja-body .unijui-fenasoja-kb-key-wide {
  flex: 1.4 1 0;
  font-size: 15px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.unijui-fenasoja-body .unijui-fenasoja-kb-key-xwide {
  flex: 3.5 1 0;
  font-size: 14px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--unijui-fenasoja-text-soft);
}
.unijui-fenasoja-body .unijui-fenasoja-kb-key-accent {
  background: rgba(255, 197, 40, 0.18);
  border-color: rgba(255, 197, 40, 0.35);
  color: var(--unijui-fenasoja-yellow);
}
.unijui-fenasoja-body .unijui-fenasoja-kb-key-accent:hover {
  background: rgba(255, 197, 40, 0.28);
}
.unijui-fenasoja-body .unijui-fenasoja-kb-key-action {
  background: rgba(255, 255, 255, 0.06);
  color: var(--unijui-fenasoja-text-soft);
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.unijui-fenasoja-body .unijui-fenasoja-kb-row-numpad {
  justify-content: center;
}
.unijui-fenasoja-body .unijui-fenasoja-kb-row-numpad .unijui-fenasoja-kb-key[data-action=clear] {
  font-size: 12px;
}
.unijui-fenasoja-body .unijui-fenasoja-kb-row-numpad .unijui-fenasoja-kb-key {
  flex: 0 0 auto;
  width: 110px;
  height: 70px;
  font-size: 26px;
}
.unijui-fenasoja-body .unijui-fenasoja-kb-row-numpad .unijui-fenasoja-kb-key-wide {
  width: 226px;
}
.unijui-fenasoja-body .unijui-fenasoja-kb-key-delete {
  background: rgba(255, 122, 122, 0.16);
  border-color: rgba(255, 122, 122, 0.28);
  color: #ffb2b2;
}
.unijui-fenasoja-body .unijui-fenasoja-kb-key-delete:hover {
  background: rgba(255, 122, 122, 0.26);
}
.unijui-fenasoja-body .unijui-fenasoja-kb-key-shortcut {
  flex: 2 1 0;
  background: rgba(27, 127, 224, 0.18);
  border-color: rgba(27, 127, 224, 0.36);
  color: #b9d8ff;
  font-size: 14px;
}
.unijui-fenasoja-body .unijui-fenasoja-kb-key-shortcut:hover {
  background: rgba(27, 127, 224, 0.3);
}
.unijui-fenasoja-body .unijui-fenasoja-foot {
  text-align: center;
  font-size: 11px;
  color: var(--unijui-fenasoja-text-muted);
  letter-spacing: 0.04em;
  margin-top: 16px;
}
.unijui-fenasoja-body.unijui-fenasoja-kb-open .unijui-fenasoja-brand img {
  width: 105px;
}
.unijui-fenasoja-body.unijui-fenasoja-kb-open .unijui-fenasoja-brand {
  margin-bottom: 22px;
}
.unijui-fenasoja-body.unijui-fenasoja-kb-open .unijui-fenasoja-headline {
  margin-bottom: 24px;
}
.unijui-fenasoja-body.unijui-fenasoja-kb-open .unijui-fenasoja-headline h1 {
  font-size: clamp(20px, 3vw, 26px);
}
.unijui-fenasoja-body.unijui-fenasoja-kb-open .unijui-fenasoja-headline p, .unijui-fenasoja-body.unijui-fenasoja-kb-open .unijui-fenasoja-headline .number-of-devices-label {
  display: none;
}
.unijui-fenasoja-body .modal-error,
.unijui-fenasoja-body .modal-success,
.unijui-fenasoja-body .modal-loader {
  color: #1a1a1a;
  user-select: text;
  -webkit-user-select: text;
}

@keyframes unijuiFenasojaFadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes unijuiFenasojaModalIn {
  from {
    opacity: 0;
    transform: translateY(20px) scale(0.96);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
@keyframes unijuiFenasojaPop {
  0% {
    transform: scale(0.4);
    opacity: 0;
  }
  70% {
    transform: scale(1.08);
    opacity: 1;
  }
  100% {
    transform: scale(1);
  }
}
.panel-order-information-main {
  padding-bottom: 1rem;
}

.panel-order-information-main table {
  border-collapse: collapse;
  font: 500 1.2rem "Customfont";
  table-layout: fixed;
  width: 100%;
  word-wrap: break-word;
}

.panel-order-information-main td {
  padding: 0.5rem;
  width: 50%;
}

.panel-order-information-main tr + tr {
  border-top: 1px solid var(--gray-medium, #dee2e6);
}

.panel-order-information-title {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 6rem auto 3rem;
  padding: 0 1rem;
  text-align: center;
}
.panel-order-information-title button,
.panel-order-information-title div {
  align-items: center;
  display: flex;
  flex: 1;
  justify-content: center;
  max-width: 150px;
}
.panel-order-information-title div {
  justify-content: start;
}

.panel-order-information-main h1 {
  font: 500 3rem "Customfont";
  flex: 2;
  text-align: center;
}

.panel-order-information-main h2 {
  font: 400 2rem "Customfont";
}

.panel-order-information-main p, .panel-order-information-main .number-of-devices-label {
  font: 400 0.9 "Customfont";
}

.panel-order-information-main article {
  align-items: end;
  background-color: var(--white, #ffffff);
  border-radius: 0.5rem;
  box-shadow: 8px 12px 24px 0px rgba(18, 18, 18, 0.078);
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: space-between;
  margin: 0 auto;
  padding: 2rem;
  width: min(700px + 2rem, 100%);
}

.panel-order-information-main article + article {
  margin-top: 1rem;
}

.panel-order-information-button-container {
  display: flex;
  flex-direction: row;
  gap: 1rem;
  margin-top: 1rem;
}

.panel-order-download-boleto-button {
  padding: 1rem 3rem !important;
  width: 100%;
}

.panel-order-download-boleto-button-container {
  align-items: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin-bottom: 2rem;
  padding: 0 1rem;
}
.panel-order-download-boleto-button-container button {
  width: fit-content;
}

@media only screen and (max-width: 950px) {
  .panel-order-information-main h1 {
    font-size: 1.5rem;
  }
  .panel-order-information-title .button-primary {
    font-size: 0.7rem;
  }
  .panel-order-information-title .button-primary img {
    width: 18px;
    height: 18px;
  }
  .panel-order-information-title .button-primary {
    padding: 0.25rem 0.5rem;
  }
}
@media print {
  .panel-menu-header {
    display: none !important;
  }
  hr {
    display: none !important;
  }
  .panel-order-information-title {
    margin: 0 auto !important;
  }
  .panel-order-information-title div,
  .panel-order-information-title button {
    display: none !important;
  }
  .panel-order-download-boleto-button-container {
    display: none !important;
  }
  .panel-order-information-button-container {
    display: none !important;
  }
}
.panel-event-gallery-header {
  padding: 2rem 1rem 4rem;
  text-align: center;
}

.panel-event-gallery-copied-message-button {
  background: none;
}

.panel-event-gallery-list {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.panel-event-gallery-list li {
  display: flex;
  flex-direction: row;
  gap: 1rem;
}

.panel-event-gallery-button-container .button-primary {
  padding: 0.5rem 1rem;
}

.panel-event-gallery-copied-message {
  align-items: center;
  background-color: var(--white, #ffffff);
  border-radius: 0.5rem;
  box-shadow: 8px 12px 24px 0px rgba(18, 18, 18, 0.08);
  color: var(--black, #121212);
  display: flex;
  flex-direction: row;
  font: 500 1.1rem "Customfont";
  gap: 1rem;
  justify-content: space-between;
  padding: 1.5rem;
  position: fixed;
  right: 1rem;
  top: 1rem;
  z-index: 99999;
}

.event-gallery-2-columns .panel-event-image-list {
  grid-template-columns: 1fr 1fr;
}

@font-face {
  font-family: "Beatrice";
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  font-size: normal;
  src: url("https://cdn.photofun.ai/assets/fonts/botox/beatrice-regular.ttf") format("truetype");
}
@font-face {
  font-family: "Beatrice";
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  font-size: normal;
  src: url("https://cdn.photofun.ai/assets/fonts/botox/beatrice-bold.ttf") format("truetype");
}
#webcam {
  height: 100vh;
  left: 0;
  object-fit: cover;
  margin: 0 auto;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: -1;
}

.panel-capture-settings-button,
.panel-capture-last-image-button,
.restart-panel-capture {
  align-items: center;
  color: var(--white, #ffffff);
  display: flex;
  flex-direction: row;
  font: 700 1rem "Customfont";
  gap: 0.5rem;
}
.panel-capture-settings-button img,
.panel-capture-last-image-button img,
.restart-panel-capture img {
  transition: filter 0.5s ease;
}
.panel-capture-settings-button:hover img,
.panel-capture-last-image-button:hover img,
.restart-panel-capture:hover img {
  filter: contrast(0) brightness(90%);
}
@media only screen and (max-width: 950px) {
  .panel-capture-settings-button p, .panel-capture-settings-button .number-of-devices-label,
  .panel-capture-last-image-button p,
  .panel-capture-last-image-button .number-of-devices-label,
  .restart-panel-capture p,
  .restart-panel-capture .number-of-devices-label {
    display: none;
  }
}

@media only screen and (max-width: 950px) {
  .panel-capture-main__icon-message ul {
    flex-direction: column;
  }
  .panel-capture-main__icon-message ul a {
    justify-content: center;
    padding: 1rem;
    text-align: center;
  }
  .panel-capture-main__main-list-item.desktop-only {
    display: none;
  }
}
#captured_image_img {
  height: 100vh;
  object-fit: cover;
  width: 100%;
}

#countdown,
#qrcode_div,
#last_qrcode_div,
#takePictureButtonContainer {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  font-size: 48px;
  font-weight: bold;
  color: white;
}

#countdown {
  display: inline-block;
  top: 50%;
  font-size: clamp(5rem, 10ch, 20rem);
  text-align: center;
  text-shadow: 0px 0px 10px var(--gray-dark, #434343);
  transform: translate(-50%, -50%);
  z-index: 1;
}
#countdown.big-number {
  font-size: 20rem !important;
}

#qrcode_div h1 {
  margin-bottom: 1rem;
}

#confirm_photo_div {
  align-items: center;
  background-color: rgba(0, 0, 0, 0.75);
  bottom: min(2rem, 2vh);
  display: flex;
  justify-content: space-between;
  left: 0;
  padding: min(2rem, 2vh) 0;
  position: absolute;
  right: 0;
  width: 100%;
  z-index: 2;
}

@supports (bottom: 0dvh) {
  #confirm_photo_div {
    bottom: 0dvh;
  }
}
#camera_config_buttons_div {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 1rem;
}

#camera_config_buttons_div button,
#camera_config_buttons_div select {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0.5rem;
  color: #fff;
  background-color: #000;
  padding: 0.5rem 2rem;
  border-radius: 10px;
  box-shadow: 1px 7px 11px #a6a6a6;
  border: 0;
  font-size: 1.2rem;
  cursor: pointer;
}

.config-camera-menu {
  z-index: 30000;
}

.body--botox .config-camera-menu {
  color: var(--black, #121212);
}

/* use this in modal-photos in case everything goes wrong */
.modal-session-qrcode img {
  aspect-ratio: 1/1;
  height: auto;
  max-height: min(50vw, 50vh);
  max-width: min(50vw, 50vh);
  min-height: 100px;
  min-width: 100px;
}
@supports (height: 100dvh) {
  .modal-session-qrcode img {
    max-height: min(50vw, 50dvh);
    max-width: min(50vw, 50dvh);
  }
}

@media only screen and (max-width: 950px) {
  .panel-capture-main {
    padding-top: 0;
  }
  .capture-session-photos-aside {
    flex-direction: row;
    justify-content: space-between;
    padding: 0 1rem;
    width: 100%;
    transform: unset;
  }
  .capture-session-photos-aside img,
  .capture-session-photos-aside .capture-session-placeholder-container {
    height: min(145px, 20vw, 20vh);
    min-width: unset;
    width: min(145px, 20vw, 20vh);
  }
}
@media only screen and (max-width: 950px) {
  .print-modal-multiple-images-container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
  }
  .print-modal-multiple-images-container div > img {
    width: 100%;
  }
  .print-modal-multiple-images-container .button-primary p, .print-modal-multiple-images-container .button-primary .number-of-devices-label {
    display: none;
  }
  .print-modal-multiple-images-container.three-columns {
    grid-template-columns: 1fr 1fr 1fr;
  }
  .print-modal-multiple-images-container.two-columns {
    grid-template-columns: 1fr 1fr;
  }
  .modal-print-selection .modal-content {
    height: 100%;
    padding: 2rem 0.5rem;
  }
  .modal-print-selection-button-container {
    margin-top: auto;
  }
}
@supports (height: 100dvh) {
  .video-container,
  #webcam,
  #captured_image_img,
  .overlay,
  .last-image-menu {
    height: 100dvh;
  }
}
@media only screen and (min-width: 950px) {
  .modal-slideshow-main {
    display: grid;
    grid-template-columns: auto 1fr;
  }
  .modal-slideshow .content-modal {
    padding: 0 2rem;
  }
  .modal-slideshow-current-image {
    aspect-ratio: 1/1;
    height: 100%;
    width: 100%;
  }
}
@media only screen and (max-width: 850px) {
  .modal-slideshow .content-modal {
    box-shadow: unset;
    margin: 0 auto;
    padding: 1rem;
  }
  .modal-slideshow-list {
    flex-direction: row;
    width: 100%;
  }
  .modal-slideshow-list img {
    height: min(145px, 20vw);
    min-width: unset;
    width: min(145px, 20vw);
  }
  .modal-slideshow-current-image {
    width: 100%;
  }
}
/**/
.image-is-loading {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  height: 100%;
  list-style: none;
}
.image-is-loading img {
  aspect-ratio: 1/1;
  height: 100%;
  object-fit: cover;
  width: 100%;
}
.image-is-loading .loader {
  align-items: center;
  animation: unset;
  display: flex;
  height: 100%;
  flex-direction: column;
  justify-content: center;
  left: 50%;
  margin: 0 auto;
  position: absolute;
  transform: translateY(-50%) translateX(-50%);
  top: 50%;
  width: 100%;
}
.image-is-loading .loader img {
  animation: rotating 1.5s infinite linear;
  height: auto;
  max-width: 120px;
  position: absolute;
  width: 100%;
}
.image-is-loading .loader::before {
  content: "";
  background: linear-gradient(90deg, var(--blue, #3b82f6) 50.54%, var(--gradient2, #60c7ba) 81.76%);
  height: 100%;
  left: 0;
  opacity: 0.75;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: -1;
}

/**/
.modal-session-qrcode h2,
.modal-photos h2 {
  margin: 2rem;
}
.modal-session-qrcode img,
.modal-photos img {
  object-fit: contain;
}
.modal-session-qrcode .image-is-loading,
.modal-photos .image-is-loading {
  grid-template-columns: unset;
  height: unset;
  place-items: center;
}
.modal-session-qrcode .image-is-loading img,
.modal-photos .image-is-loading img {
  aspect-ratio: unset;
  height: auto;
  width: auto;
  max-width: 100vw;
  max-height: 100vh;
}
.modal-session-qrcode .image-is-loading .loader::before,
.modal-photos .image-is-loading .loader::before {
  height: 100%;
  width: 100%;
  left: 50%;
  transform: translateX(-50%);
  z-index: 0;
}
.modal-session-qrcode .content-modal,
.modal-photos .content-modal {
  padding: 1rem 2rem;
}
@supports (height: 100dvh) {
  .modal-session-qrcode .content-modal,
  .modal-photos .content-modal {
    max-height: 100dvh;
  }
  .modal-session-qrcode .image-is-loading img,
  .modal-photos .image-is-loading img {
    max-width: 100dvw;
    max-height: 100dvh;
  }
}

kbd {
  aspect-ratio: 1/1;
  border: 2px solid;
  border-radius: 6px;
  display: flex;
  flex-direction: column;
  font: 700 2rem Arial;
  justify-content: center;
  line-height: 1;
  text-align: center;
  height: 3rem;
  width: 3rem;
}
kbd p, kbd .number-of-devices-label {
  font: 500 1.1rem "Customfont";
}

kbd.esc {
  font: 700 1.1rem Arial;
}

kbd.space {
  font: 700 1.1rem Arial;
  width: 9rem;
}

@supports (max-height: 100dvh) {
  .modal-slideshow-list,
  .modal-slideshow-current-image {
    max-height: calc(100dvh - 4rem);
  }
  .config-camera-menu,
  .last-image-menu {
    height: 100dvh;
  }
}
@media (pointer: none), (pointer: coarse) {
  .panel-capture-main-icon {
    transform: rotate(-135deg);
  }
}
@media only screen and (max-width: 501px) {
  .print-modal-multiple-images-container {
    grid-template-columns: 1fr;
  }
}
@media only screen and (max-width: 401px) {
  .panel-capture-offline-printer-container h2 {
    display: none;
  }
}
@media only screen and (max-width: 850px), (pointer: none), (pointer: coarse), (orientation: landscape) {
  .panel-capture-button,
  .panel-capture-accept-picture-button,
  .panel-capture-refuse-picture-button {
    width: min(30vw, 30vh);
    font: 400 clamp(1rem, 2.5vh, 2rem) "Customfont";
  }
  .panel-capture-button-icon {
    width: min(5vw, 5vh);
  }
}
@media only screen and (max-height: 767px) {
  .modal-session-qrcode-image-container {
    flex-direction: row;
  }
}
@media only screen and (max-width: 850px) {
  .modal-select-your-frame-main {
    flex-wrap: nowrap;
  }
}
#capture_session_ai_photo_img,
#capture_session_last_photo_img {
  transform-origin: center center;
}

#capture_session_ai_photo_img {
  aspect-ratio: unset;
}

/* Virtual Keyboard — the base look (#virtual-keyboard, .kb-row, .kb-key, .kb-key.special, .kb-key.active,
   .kb-key[data-size]) lives in panel_capture/style.scss. Those selectors are global (single CSS bundle),
   so they govern the keyboard here too — duplicating them here only caused a non-deterministic clash
   (the SCSS files are concatenated in arbitrary os.listdir order). Only the botox-specific z-index
   overrides remain. */
.body--botox #virtual-keyboard-container {
  z-index: 25000;
}

.body--botox #virtual-keyboard {
  z-index: 25000 !important;
}

.modal-panel-capture-fullscreen--botox-background .content-modal {
  background: #753796;
}

.frame-overlay {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 1;
}
.frame-overlay img {
  position: absolute;
  display: block;
  box-sizing: border-box;
  object-fit: fill;
}

#frame_overlay_image {
  object-fit: fill;
}

.content-close-container {
  align-items: center;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  padding-left: 26px;
  width: 100%;
}
.content-close-container h1, .content-close-container h2, .content-close-container h3 {
  width: 100%;
  text-align: center;
}
.content-close-container h1 {
  font-weight: 500;
  font-size: 3rem;
  line-height: 116%;
  letter-spacing: 0;
}

.capture-session-qrcode-image {
  aspect-ratio: 1/1;
  height: 490px;
  width: 490px;
}

.modal-photos-qrcode-container {
  background-color: var(--blue-light, #e5edfa);
  flex-shrink: 0;
  height: 100%;
  width: 20.25rem;
  z-index: 1;
  transition: transform 0.5s ease;
  transform-origin: left;
  position: sticky;
  top: 0;
}
.modal-photos-qrcode-container.expanded {
  transform: scaleX(2);
}
.modal-photos-qrcode-container.expanded .modal-photos-qrcode-expandable-container {
  transform: scaleX(0.5);
}
.modal-photos-qrcode-container.expanded .modal-photos-qrcode-image {
  height: min(492px, 50vw, 50vh);
  width: min(492px, 50vw, 50vh);
}

.modal-botox-intro,
.modal-botox-form,
.modal-botox-capture,
.modal-botox-result {
  font: 400 1rem "Beatrice";
  border: none;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 20000;
}
.modal-botox-intro h1, .modal-botox-intro h2, .modal-botox-intro p, .modal-botox-intro .number-of-devices-label, .modal-botox-intro label,
.modal-botox-form h1,
.modal-botox-form h2,
.modal-botox-form p,
.modal-botox-form .number-of-devices-label,
.modal-botox-form label,
.modal-botox-capture h1,
.modal-botox-capture h2,
.modal-botox-capture p,
.modal-botox-capture .number-of-devices-label,
.modal-botox-capture label,
.modal-botox-result h1,
.modal-botox-result h2,
.modal-botox-result p,
.modal-botox-result .number-of-devices-label,
.modal-botox-result label {
  font-family: "Beatrice";
}
.modal-botox-intro h1,
.modal-botox-form h1,
.modal-botox-capture h1,
.modal-botox-result h1 {
  font-size: 2rem;
  font-weight: 700;
}
.modal-botox-intro h2,
.modal-botox-form h2,
.modal-botox-capture h2,
.modal-botox-result h2 {
  font-size: 2rem;
  font-weight: 400;
}
.modal-botox-intro ul,
.modal-botox-form ul,
.modal-botox-capture ul,
.modal-botox-result ul {
  list-style: none;
}
.modal-botox-intro.modal-panel-capture-fullscreen .img-background,
.modal-botox-form.modal-panel-capture-fullscreen .img-background,
.modal-botox-capture.modal-panel-capture-fullscreen .img-background,
.modal-botox-result.modal-panel-capture-fullscreen .img-background {
  opacity: 1;
}

.modal-botox-result-content-container {
  align-items: center;
  display: flex;
  flex-direction: row;
  gap: 4rem;
  margin-top: 10rem;
  margin-left: -300px;
}

.modal-botox-qrcode {
  background-color: var(--white, #ffffff);
}

.modal-botox-result-image-container {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.modal-botox-result-image-container .botox-button--capture {
  margin: 0 auto;
}

.modal-botox-result-image {
  background-color: var(--gray-medium, #dee2e6);
  height: 555px;
  width: 886px;
}

.modal-botox-capture__img-container {
  position: relative;
  height: 100%;
  width: 100%;
  display: flex;
  flex-direction: column;
}

.modal-botox-capture-main {
  position: relative;
  flex: 1;
  width: 100%;
  overflow: hidden;
}
.modal-botox-capture-main #webcam,
.modal-botox-capture-main #captured_image_img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  z-index: auto;
  margin: 0;
}
.modal-botox-capture-main #confirm_photo_div {
  position: absolute;
  bottom: 1rem;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 2rem;
  z-index: 1;
}

.modal-botox-capture__header {
  display: flex;
  flex-direction: column;
  width: fit-content;
  position: absolute;
  gap: 2rem;
  right: 12%;
  top: -10ch;
  z-index: 2;
}
.modal-botox-capture__header h1 {
  font-size: 3rem;
  line-height: 1;
  text-align: right !important;
}
.modal-botox-capture__header img {
  max-width: 250px;
  height: auto;
  align-self: flex-end;
}

ul.modal-botox-footer,
ol.modal-botox-footer {
  list-style-position: inside !important;
  list-style: decimal;
  line-height: 1.75;
  max-width: 99.5714285714rem;
  padding-top: 2rem;
}

.modal-botox-capture__button-container, .modal-botox-capture #confirm_photo_div {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 0.5rem;
  width: 100%;
  padding: 0.5rem 0;
  position: absolute;
  bottom: 1rem;
  left: 1rem;
  width: calc(100% - 2rem);
}
.modal-botox-capture__button-container--relative {
  position: relative;
  left: 0;
  width: 100%;
  gap: 21.25rem;
  width: 100%;
  top: -7.5rem;
  justify-content: center;
}

.modal-botox__form-container {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  width: 100%;
}

.modal-botox__form-element {
  margin-top: 2rem;
}
.modal-botox__form-element input[type=text], .modal-botox__form-element input[type=tel], .modal-botox__form-element input[type=number], .modal-botox__form-element input[type=email] {
  color: var(--white, #ffffff);
  border: 1px solid var(--white, #ffffff);
  border-radius: 1.5rem;
  font-size: 2rem;
  padding: 2rem 1rem;
}
.modal-botox__form-element input[type=text]::placeholder, .modal-botox__form-element input[type=text]::-webkit-input-placeholder, .modal-botox__form-element input[type=text]::-moz-placeholder, .modal-botox__form-element input[type=tel]::placeholder, .modal-botox__form-element input[type=tel]::-webkit-input-placeholder, .modal-botox__form-element input[type=tel]::-moz-placeholder, .modal-botox__form-element input[type=number]::placeholder, .modal-botox__form-element input[type=number]::-webkit-input-placeholder, .modal-botox__form-element input[type=number]::-moz-placeholder, .modal-botox__form-element input[type=email]::placeholder, .modal-botox__form-element input[type=email]::-webkit-input-placeholder, .modal-botox__form-element input[type=email]::-moz-placeholder {
  color: var(--white, #ffffff);
  opacity: 1;
}

.modal-botox__text-fields-list {
  display: grid;
  gap: 1rem 3rem;
  grid-template-columns: 1fr 1fr;
}

.modal-botox__checkbox-list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  list-style: none;
  margin-top: 3rem;
}
.modal-botox__checkbox-list li {
  align-items: flex-start;
  display: flex;
  flex-direction: row;
  gap: 1rem;
}
.modal-botox__checkbox-list input[type=checkbox] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  accent-color: var(--white, #ffffff);
  background: transparent;
  border: 1px solid var(--white, #ffffff);
  aspect-ratio: 1/1;
  border-radius: 0.25rem;
  height: 2rem;
  width: 2rem;
  min-height: 2rem;
  min-width: 2rem;
  cursor: pointer;
  position: relative;
}
.modal-botox__checkbox-list input[type=checkbox]:checked {
  background: transparent;
}
.modal-botox__checkbox-list input[type=checkbox]:checked::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0.45rem;
  height: 0.75rem;
  border: solid var(--white, #ffffff);
  border-width: 0 2px 2px 0;
  transform: translate(-50%, -60%) rotate(45deg);
}
.modal-botox__checkbox-list label {
  font-weight: 400;
  margin-top: 0.25rem;
}

.modal-botox-form a {
  color: var(--white, #ffffff);
  text-decoration-color: #b999ca;
}

.modal-botox-form__main-button {
  background-color: transparent;
  border: 1px solid var(--white, #ffffff);
  border-radius: 1.5rem;
  display: block;
  color: var(--white, #ffffff);
  font-size: 2rem;
  margin: 1rem auto 0;
  padding: 2rem 1rem;
  width: min(18.75rem, 100%);
}

.botox-button--capture {
  background: transparent;
  border: none;
  color: transparent;
  width: fit-content;
  height: fit-content;
  max-width: 31.25rem;
}
.botox-button--capture img {
  height: fit-content;
  max-width: 31.25rem;
}

.modal-botox-capture #confirm_photo_div {
  background-color: transparent;
  transform: unset;
}

.modal-botox-capture #take_picture_button {
  margin-left: auto;
}

.body--botox .modal-loader,
.body--botox .modal-success,
.body--botox .modal-error {
  color: var(--black, #121212);
  z-index: 30000;
}

.body--botox .modal-loader,
.body--botox .modal-success,
.body--botox .modal-error {
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.body--botox .modal-loader.open,
.body--botox .modal-success.open,
.body--botox .modal-error.open {
  display: flex;
}
.body--botox .modal-loader .content-modal,
.body--botox .modal-success .content-modal,
.body--botox .modal-error .content-modal {
  width: 100%;
}

@supports (height: 100svh) {
  .modal-banrisul-pixel-picture__image {
    max-width: 100svw !important;
    max-height: 100svh !important;
  }
}
@media screen and (orientation: portrait) and (min-height: 1024px) {
  .modal-slideshow .modal-content {
    position: relative;
    top: 50%;
    transform: translateY(-50%);
  }
  .modal-slideshow .content-modal {
    margin: auto;
  }
}
@media only screen and (max-width: 679px), screen and (max-height: 679px) {
  .capture-session-qrcode-image {
    width: min(100% - 2rem, 490px);
    height: min(100% - 2rem, 490px);
  }
  .modal-print-photos .content-modal.max-width,
  .modal-qrcode-photos .content-modal.max-width,
  .modal-photos .content-modal.max-width {
    height: 100%;
    width: 100%;
    max-width: 100%;
    max-height: 100%;
  }
}
@media only screen and (orientation: portrait) {
  .modal-print-photos .content-modal,
  .modal-qrcode-photos .content-modal,
  .modal-photos .content-modal {
    max-width: 785px;
    max-height: 1210px;
  }
  .modal-photos .content-modal {
    flex-direction: column;
  }
  .modal-photos-qrcode-container {
    width: 100%;
    height: 20.25rem;
    transform-origin: bottom;
  }
  .modal-photos-qrcode-container.expanded {
    transform: scaleY(2);
  }
  .modal-photos-qrcode-container.expanded .modal-photos-qrcode-expandable-container {
    padding-inline: 1.5rem;
    transform: scaleY(0.5);
  }
  .modal-photos-photo-container {
    order: -1;
  }
  .modal-photos-qrcode-expandable-container {
    flex-direction: row;
    justify-content: space-between;
  }
}
@media only screen and (orientation: landscape) {
  .modal-print-photos .content-modal,
  .modal-qrcode-photos .content-modal,
  .modal-photos .content-modal {
    max-width: 1210px;
    max-height: 785px;
  }
  .modal-photos-capture-session-completed-container {
    max-height: 100%;
    max-width: 100%;
    width: 100%;
    height: 100%;
  }
}
@media only screen and (orientation: landscape) and (max-height: 500px) {
  .modal-print-photos-main-photo {
    max-height: 30vh;
  }
  .modal-print-photos-main-content {
    gap: min(2.5rem, 2.5vh);
  }
  .capture-session-qrcode-image {
    max-height: 50vh;
    height: 100%;
    width: auto;
  }
  .modal-qrcode-photos .content-modal {
    padding: min(2.5vh, 2.5rem) 1rem;
  }
  .modal-qrcode-photos .content-close-container h1 {
    font-size: clamp(1rem, 10vh, 3rem);
  }
  .modal-qrcode-photos-main-content h3 {
    font-size: clamp(0.875rem, 7vh, 1.5rem);
  }
  .modal-photos h1 {
    font-size: clamp(1.5rem, 7vh, 3rem);
  }
  @supports (height: 100svh) {
    .capture-session-qrcode-image {
      max-height: 50svh;
    }
    .modal-print-photos-main-photo {
      max-height: 30svh;
    }
    .modal-print-photos-main-content {
      gap: min(2.5rem, 2.5svh);
    }
    .modal-qrcode-photos .content-modal {
      padding: min(2.5svh, 2.5rem) 1rem;
    }
    .modal-qrcode-photos .content-close-container h1 {
      font-size: clamp(1rem, 10svh, 3rem);
    }
    .modal-qrcode-photos-main-content h3 {
      font-size: clamp(0.875rem, 7svh, 1.5rem);
    }
    .modal-photos h1 {
      font-size: clamp(1.5rem, 7svh, 3rem);
    }
  }
}
@media only screen and (orientation: portrait) and (max-width: 500px) {
  .modal-photos-qrcode-expandable-container {
    padding: 1rem;
  }
  .modal-photos-qrcode-container {
    height: 100%;
    max-height: 180px;
  }
  .modal-session-qrcode-image-container .image-is-loading img {
    max-height: 30vh;
  }
  .modal-photos-qrcode-container.expanded .modal-photos-qrcode-expandable-container {
    gap: 0;
    padding: 0;
  }
}
.backoffice-hot-users-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 16px 0 24px;
}
.backoffice-hot-users-stats .backoffice-hot-users-stats-card {
  flex: 1 1 160px;
  min-width: 140px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  padding: 14px 16px;
  background: #ffffff;
  border: 2px solid #e2e4ea;
  border-radius: 10px;
  cursor: pointer;
  text-align: left;
  transition: border-color 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease;
}
.backoffice-hot-users-stats .backoffice-hot-users-stats-card:hover {
  border-color: #b4b8c5;
  transform: translateY(-1px);
}
.backoffice-hot-users-stats .backoffice-hot-users-stats-card.active {
  border-color: #2f6bff;
  box-shadow: 0 4px 10px rgba(47, 107, 255, 0.18);
}
.backoffice-hot-users-stats .backoffice-hot-users-stats-card.target {
  background: #fff8e6;
  border-color: #f0b400;
}
.backoffice-hot-users-stats .backoffice-hot-users-stats-card.target.active {
  box-shadow: 0 4px 10px rgba(240, 180, 0, 0.28);
}
.backoffice-hot-users-stats .backoffice-hot-users-stats-card.all {
  background: #f1f4ff;
  border-color: #c0cdf5;
}
.backoffice-hot-users-stats .backoffice-hot-users-stats-card.all.active {
  border-color: #2f6bff;
  box-shadow: 0 4px 10px rgba(47, 107, 255, 0.18);
}
.backoffice-hot-users-stats .backoffice-hot-users-stats-card .backoffice-hot-users-stats-card__label {
  font-size: 13px;
  font-weight: 600;
  color: #555a6b;
  text-transform: uppercase;
  letter-spacing: 0.4px;
}
.backoffice-hot-users-stats .backoffice-hot-users-stats-card .backoffice-hot-users-stats-card__count {
  font-size: 28px;
  font-weight: 700;
  color: #1f2330;
}

.backoffice-hot-users-selector {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 16px;
}
.backoffice-hot-users-selector label {
  font-size: 14px;
  font-weight: 600;
  color: #555a6b;
}
.backoffice-hot-users-selector select {
  padding: 8px 10px;
  border-radius: 8px;
  border: 1px solid #d0d4df;
  background: #ffffff;
  font-size: 14px;
  min-width: 240px;
}

.backoffice-hot-users-tables {
  display: block;
}

.backoffice-hot-users-bracket-table {
  margin-bottom: 24px;
}
.backoffice-hot-users-bracket-table .backoffice-hot-users-bracket-table__title {
  font-size: 18px;
  font-weight: 700;
  margin: 0 0 12px;
  color: #1f2330;
}
.backoffice-hot-users-bracket-table .backoffice-hot-users-bracket-table__empty {
  padding: 16px;
  background: #f6f7fa;
  border-radius: 8px;
  color: #6b7080;
  font-style: italic;
  margin: 0;
}

.backoffice-hot-users-row__count {
  text-align: right;
  font-variant-numeric: tabular-nums;
  font-weight: 600;
}

.backoffice-hot-users-row__money {
  text-align: right;
  font-variant-numeric: tabular-nums;
  font-weight: 600;
  white-space: nowrap;
}

.backoffice-hot-users-sort-button {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: none;
  border: none;
  padding: 0;
  margin: 0;
  font: inherit;
  color: inherit;
  cursor: pointer;
  text-transform: inherit;
  letter-spacing: inherit;
}
.backoffice-hot-users-sort-button .backoffice-hot-users-sort-chevron {
  opacity: 0.3;
  transition: opacity 0.15s ease, transform 0.15s ease;
}
.backoffice-hot-users-sort-button:hover .backoffice-hot-users-sort-chevron {
  opacity: 0.7;
}
.backoffice-hot-users-sort-button.is-active .backoffice-hot-users-sort-chevron {
  opacity: 1;
}
.backoffice-hot-users-sort-button.is-active.is-asc .backoffice-hot-users-sort-chevron {
  transform: rotate(180deg);
}

.backoffice-hot-users-row__stage {
  display: inline-block;
  padding: 3px 8px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  background: #eef0f5;
  color: #1f2330;
  white-space: nowrap;
}
.backoffice-hot-users-row__stage--sent_photo {
  background: #fff3c4;
  color: #7a5a00;
}
.backoffice-hot-users-row__stage--created_event {
  background: #e0e9ff;
  color: #1d3b8a;
}
.backoffice-hot-users-row__stage--paid_once {
  background: #d6f3e3;
  color: #0e5e3a;
}
.backoffice-hot-users-row__stage--subscriber {
  background: #ede2ff;
  color: #4a1f9c;
}
.backoffice-hot-users-row__stage--signed_up_only {
  background: #f0f1f5;
  color: #5b6171;
}

.backoffice-hot-users-row__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 24px;
  padding: 2px 6px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  margin-right: 4px;
  border: 1px solid #d0d4df;
}
.backoffice-hot-users-row__badge--filled {
  background: #2f6bff;
  color: #ffffff;
  border-color: #2f6bff;
}
.backoffice-hot-users-row__badge--hollow {
  background: #ffffff;
  color: #b4b8c5;
}
.backoffice-hot-users-row__badge--event.backoffice-hot-users-row__badge--filled {
  background: #2f6bff;
  border-color: #2f6bff;
}
.backoffice-hot-users-row__badge--photo.backoffice-hot-users-row__badge--filled {
  background: #f0b400;
  border-color: #f0b400;
  color: #1f2330;
}
.backoffice-hot-users-row__badge--paid.backoffice-hot-users-row__badge--filled {
  background: #19a974;
  border-color: #19a974;
}
.backoffice-hot-users-row__badge--sub.backoffice-hot-users-row__badge--filled {
  background: #7c3aed;
  border-color: #7c3aed;
}

.backoffice-create-coupon-form {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding: 1rem;
}

.backoffice-create-coupon-checkbox-list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.backoffice-create-coupon-checkbox-list li {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0.5rem;
}
.backoffice-create-coupon-checkbox-list li input[type=checkbox] {
  width: 1rem;
  height: 1rem;
}

.modal-backoffice .modal-content {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.modal-backoffice .button-primary {
  padding: 1rem;
}

.modal-backoffice .panel-my-events-select-container {
  justify-content: left;
}

.modal-backoffice .switch-checkbox-container {
  background-color: var(--gray-light, #f5f6f7);
  box-shadow: 0 1px 12px rgba(204, 204, 204, 0.25);
}

.order-payment-method-select-div {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin: 0 2rem 2rem;
}

.telemetry-server-status-dot {
  display: inline-block;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  vertical-align: middle;
}

.backoffice-telemetry-servers-actions {
  margin: 16px 0 24px;
}
.backoffice-telemetry-servers-actions .backoffice-telemetry-servers-actions-note {
  font-size: 12px;
  color: #888;
  margin: 8px 0 0;
  max-width: 800px;
  line-height: 1.4;
}

.backoffice-autoscaling-main {
  padding: 0 1rem;
}

.backoffice-autoscaling-main .backoffice-table-wrapper {
  padding-left: 0;
  padding-right: 0;
}

.backoffice-container__title-container.backoffice-autoscaling-title-container {
  flex-direction: column;
  align-items: flex-start;
  gap: 0.25rem;
}

.backoffice-autoscaling-header-title {
  font-size: 1.15rem;
  font-weight: 600;
  margin: 0;
}

.backoffice-autoscaling-stats {
  font-size: 0.9rem;
  font-weight: 500;
  color: var(--gray-dark, #434343);
}

.backoffice-autoscaling-overview {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 12px;
  margin-bottom: 12px;
}

.backoffice-autoscaling-state {
  flex: 0 1 auto;
  display: flex;
  flex-wrap: wrap;
  align-content: center;
  gap: 10px 28px;
  padding: 12px 14px;
  background-color: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
}

.backoffice-autoscaling-state-item {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.backoffice-autoscaling-state-label {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--gray-dark, #434343);
}

.backoffice-autoscaling-state-value {
  font-size: 1.15rem;
  font-weight: 700;
  color: #222;
}

.backoffice-autoscaling-tick {
  font-variant-numeric: tabular-nums;
}

.backoffice-autoscaling-tick--fast {
  color: #2e7d32;
}

.backoffice-autoscaling-tick--normal {
  color: #607d8b;
}

.backoffice-autoscaling-tick--stalled {
  color: #f9a825;
}

.backoffice-autoscaling-tick--stopped {
  color: #90a4ae;
}

.backoffice-autoscaling-last-updated {
  font-size: 12px;
  color: var(--gray-dark, #434343);
  margin: -4px 0 8px;
}

.backoffice-autoscaling-gauge {
  flex: 1 1 340px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background-color: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  padding: 12px 16px;
}

.backoffice-autoscaling-gauge-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px;
}

.backoffice-autoscaling-gauge-title {
  font-size: 14px;
  font-weight: 700;
  color: #222;
}

.backoffice-autoscaling-gauge-readout {
  font-size: 14px;
  font-weight: 700;
  color: #333;
  font-variant-numeric: tabular-nums;
}

.backoffice-autoscaling-gauge-track {
  position: relative;
  height: 14px;
  border-radius: 7px;
  background-color: #eceff1;
  overflow: hidden;
}

.backoffice-autoscaling-gauge-fill {
  height: 100%;
  width: 0%;
  border-radius: 7px;
  transition: width 0.4s ease, background-color 0.4s ease;
  background-color: #43a047;
}

.backoffice-autoscaling-gauge-fill--safe {
  background-color: #43a047;
}

.backoffice-autoscaling-gauge-fill--moderate {
  background-color: #1976d2;
}

.backoffice-autoscaling-gauge-fill--near {
  background-color: #f9a825;
}

.backoffice-autoscaling-gauge-fill--trigger {
  background-color: #e53935;
}

.backoffice-autoscaling-gauge-status {
  display: inline-block;
  margin-top: 6px;
  font-size: 12px;
  font-weight: 600;
  color: var(--gray-dark, #434343);
}

.backoffice-autoscaling-chart-heading {
  font-size: 13px;
  font-weight: 600;
  color: #333;
  margin-bottom: 6px;
}

.backoffice-autoscaling-chart-subheading {
  font-size: 12px;
  font-weight: 500;
  color: var(--gray-dark, #434343);
}

.backoffice-autoscaling-chart-card {
  background-color: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  padding: 10px 12px;
  margin-bottom: 12px;
}

.backoffice-autoscaling-chart-card--primary {
  border-color: #bbdefb;
  box-shadow: 0 1px 4px rgba(33, 150, 243, 0.12);
}

.backoffice-autoscaling-chart-card--secondary {
  opacity: 0.92;
}

.backoffice-autoscaling-legend {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
  margin-bottom: 8px;
  font-size: 12px;
  color: #444;
}

.backoffice-autoscaling-swatch {
  display: inline-block;
  width: 12px;
  height: 12px;
  border-radius: 2px;
  margin-right: 5px;
  vertical-align: middle;
}

.backoffice-autoscaling-swatch-wait {
  background-color: rgba(33, 150, 243, 0.95);
}

.backoffice-autoscaling-swatch-scale-out {
  background-color: rgba(229, 57, 53, 0.95);
}

.backoffice-autoscaling-swatch-scale-in {
  background-color: rgba(96, 125, 139, 0.95);
}

.backoffice-autoscaling-swatch-depth {
  background-color: rgba(245, 124, 0, 0.95);
}

.backoffice-autoscaling-swatch-arrival {
  background-color: rgba(229, 57, 53, 0.95);
}

.backoffice-autoscaling-swatch-capacity {
  background-color: rgba(46, 125, 50, 0.95);
}

.backoffice-autoscaling-swatch-safe {
  background-color: rgba(76, 175, 80, 0.3);
}

.backoffice-autoscaling-timeframes {
  display: flex;
  gap: 4px;
  margin-bottom: 8px;
}
.backoffice-autoscaling-timeframes button {
  padding: 6px 14px;
  border: 1px solid #ddd;
  background: #fff;
  cursor: pointer;
  border-radius: 4px;
  font-size: 14px;
}
.backoffice-autoscaling-timeframes button.active {
  background-color: #1976d2;
  color: white;
  border-color: #1976d2;
}
.backoffice-autoscaling-timeframes button:hover:not(.active) {
  background-color: #f5f5f5;
}

.backoffice-autoscaling-chart {
  width: 100%;
  height: 220px;
  position: relative;
}

.backoffice-autoscaling-chart--primary {
  height: 300px;
}

.backoffice-autoscaling-chart--secondary {
  height: 150px;
}

.backoffice-autoscaling-events {
  margin-top: 8px;
}

.backoffice-autoscaling-events-title {
  font-size: 1rem;
  font-weight: 600;
  margin-bottom: 8px;
}

.backoffice-autoscaling-events-empty {
  text-align: center;
  color: var(--gray-dark, #434343);
  padding: 1rem;
}

.backoffice-autoscaling-action {
  display: inline-block;
  padding: 0.1em 0.6em;
  border-radius: 1em;
  font-size: 0.78rem;
  font-weight: 700;
  color: var(--white, #ffffff);
  white-space: nowrap;
}

.backoffice-autoscaling-action--scale-out {
  background-color: var(--green, #008000);
}

.backoffice-autoscaling-action--scale-in {
  background-color: var(--red, #fd5249);
}

.user-login-article {
  align-items: start;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 6rem;
  justify-content: center;
  text-align: center;
  padding: 3rem;
  row-gap: 6rem;
}
@media only screen and (max-width: 1199px) {
  .user-login-article {
    padding-bottom: calc(229px + 3rem);
    row-gap: 0.5rem;
  }
}

.user-login-comparator-container {
  width: min(100%, 400px);
}

.user-login-section {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  justify-content: center;
  width: min(100%, 716px);
}
.user-login-section p, .user-login-section .number-of-devices-label {
  line-height: 1.5;
}
@media only screen and (max-width: 1199px) {
  .user-login-section {
    margin-bottom: 1rem;
  }
}

.user-login-button,
.user-confirm-form-button,
.user-register-button,
.personalize-submit-button {
  margin-top: 2rem;
  padding: 1rem;
  width: 100%;
  font-weight: 700;
  color: var(--white, #ffffff);
  background-color: var(--black, #121212);
  border-radius: 6px;
  transition: opacity 0.5s ease, background-color 0.5s ease, color 0.5s ease;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 1ch;
  font-size: 1rem;
}
.user-login-button:hover,
.user-confirm-form-button:hover,
.user-register-button:hover,
.personalize-submit-button:hover {
  opacity: 0.75;
}

.user-login-button__icon {
  font-size: 1rem;
}

input[type=email],
input[type=password],
input[type=text],
input[type=date] {
  border-bottom: 1px solid var(--black, #121212);
  width: 100%;
  padding: 0.5rem 1rem;
  background: none;
  transition: border-color 0.5s ease;
  font-weight: 500;
}

.input-with-error {
  border-color: var(--error, #fd5249) !important;
}

.input-floating-container {
  position: relative;
  width: 100%;
}

.input-floating-container input,
.input-floating-container select,
.input-floating-container textarea {
  background: none;
  border-bottom: 1px solid var(--black, #121212);
  font: 400 0.875rem "Customfont";
  padding: 0.5rem 1rem;
  transition: border-color 0.5s ease;
  width: 100%;
}

.input-floating-container input,
.input-floating-container textarea {
  appearance: none;
  line-height: 1rem;
}

.input-floating-container input[type=time] {
  appearance: unset;
}

.input-floating-container select {
  border-radius: 0;
  color: var(--black, #121212);
}

.input-password input {
  padding-right: 6.5rem;
}

.input-floating-container label {
  font: 700 1rem "Customfont";
  position: absolute;
  left: 1rem;
  top: calc(100% - 1.5rem);
  transition: font-size 0.5s ease, transform 0.5s ease;
}

input:required:invalid {
  border-color: var(--error, #fd5249);
}

input:placeholder-shown:required:invalid {
  border-color: initial;
}

input[type=tel]:required:invalid:placeholder-shown {
  border-color: initial;
}

.input-floating-container input:invalid,
.input-floating-container textarea:invalid {
  border-color: initial;
}

.input-floating-container input:focus + label,
.input-floating-container input:not(:placeholder-shown) + label,
.input-floating-container input:valid + label,
.input-floating-container textarea:focus + label,
.input-floating-container textarea:not(:placeholder-shown) + label,
.input-floating-container textarea:valid + label,
.input-floating-container select + label {
  font-size: 0.75rem;
  transform: translateY(-1rem);
  border-color: var(--black, #121212);
}

.input-container {
  width: 100%;
}

.input-container .error,
.sent-email-message-container .error {
  text-align: left;
  color: var(--red, #fd5249);
  font-weight: 700;
  font-size: 0.75rem;
  padding: 0.25rem 1rem;
}

.desktop-form-container {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  right: 0;
  width: 100%;
}
.desktop-form-container h3 {
  text-align: left;
}
@media only screen and (max-width: 1199px) {
  .desktop-form-container {
    background-color: var(--base, #ffffff);
    bottom: 0;
    box-shadow: 0 1px 12px rgba(204, 204, 204, 0.25);
    position: fixed;
    width: 100%;
    z-index: 10;
  }
  .desktop-form-container h3 {
    text-align: center;
  }
}

.client-receive-photo-swiper .swiper-pagination {
  display: inline-block;
}

.swiper-pagination-bullet {
  width: 1rem;
  height: 0.25rem;
  border-radius: 0.5rem;
  transition: width 0.5s linear, color 0.5s linear, box-shadow 0.5s ease;
}
.swiper-pagination-bullet-active {
  background-color: var(--black, #121212);
  width: 3rem;
  box-shadow: 8px 12px 24px 0px rgba(18, 18, 18, 0.08);
}

.mobile-form-input-button-container {
  display: flex;
  flex-direction: row;
}
@media only screen and (max-width: 1199px) {
  .mobile-form-input-button-container {
    padding: 0 1rem 2rem;
    align-items: end;
  }
  .mobile-form-input-button-container .user-login-button {
    margin-top: unset;
    width: fit-content;
  }
  .mobile-form-input-button-container .user-login-button__span {
    display: none;
  }
}
@media only screen and (min-width: 1200px) {
  .mobile-form-input-button-container {
    flex-direction: column;
  }
}
.mobile-form-input-button-container.password {
  flex-wrap: wrap;
}
@media only screen and (max-width: 1199px) {
  .mobile-form-input-button-container.password .user-login-button {
    margin-top: 1rem;
    width: 100%;
  }
  .mobile-form-input-button-container.password .user-login-button__span {
    display: unset;
  }
}

.user-login-header-logo {
  margin-bottom: 2rem;
}

.checkout-select-payment-method-form {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
.checkout-select-payment-method-form label {
  align-self: stretch;
  align-items: center;
  background: var(--white, #ffffff);
  border-radius: 0.75rem;
  clip-path: margin-box;
  display: flex;
  flex-direction: row;
  gap: 1rem;
  padding: 1.5rem 2rem;
}
.checkout-select-payment-method-form label h3 {
  font-size: 1.125rem;
  line-height: 140%;
  margin-bottom: 0;
}
.checkout-select-payment-method-form label p, .checkout-select-payment-method-form label .number-of-devices-label {
  color: var(--panel-capture-button-gray, #535454);
  font-size: 1.125rem;
  font-style: normal;
  font-weight: 500;
  line-height: 140%;
}
.checkout-select-payment-method-form label .payment-method-option-note {
  font-size: 0.875rem;
  font-weight: 600;
  margin-top: 0.25rem;
}
.checkout-select-payment-method-form label input {
  display: inline-block;
}
.checkout-select-payment-method-form input[type=radio],
.checkout-select-payment-method-form input[type=checkbox] {
  aspect-ratio: 1/1;
  height: 1.25rem;
  width: 1.25rem;
}

.valid-license-for-days-message {
  font-weight: 700;
  font-size: 0.75rem;
  line-height: 116%;
  letter-spacing: 0.015rem;
  vertical-align: middle;
  color: var(--panel-capture-button-gray, #535454);
}

.panel-lead-project-leads-body .panel-lead-project-leads-main {
  max-width: 1200px;
  margin: 0 auto;
  padding: 2rem 1.5rem 4rem;
}
.panel-lead-project-leads-body .panel-lead-project-leads-header {
  margin-bottom: 1.5rem;
}
.panel-lead-project-leads-body .panel-lead-project-leads-header h1 {
  margin: 0;
  font-size: 1.5rem;
  font-weight: 600;
}
.panel-lead-project-leads-body .panel-lead-project-leads-header .panel-lead-project-leads-project-name {
  font-weight: 700;
}
.panel-lead-project-leads-body .panel-lead-project-leads-toolbar {
  display: flex;
  gap: 0.75rem;
  align-items: center;
  margin-bottom: 1rem;
  flex-wrap: wrap;
}
.panel-lead-project-leads-body .panel-lead-project-leads-search {
  flex: 1 1 280px;
  min-width: 240px;
  height: 44px;
  padding: 0 14px;
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: 8px;
  font-size: 0.95rem;
  outline: none;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.panel-lead-project-leads-body .panel-lead-project-leads-search:focus {
  border-color: var(--primary, );
  box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.05);
}
.panel-lead-project-leads-body .panel-lead-project-leads-count-line {
  margin: 0 0 0.75rem;
  font-size: 0.95rem;
  color: rgba(0, 0, 0, 0.7);
}
.panel-lead-project-leads-body .panel-lead-project-leads-count-line strong {
  color: rgba(0, 0, 0, 0.85);
}
.panel-lead-project-leads-body .panel-lead-project-leads-table-container {
  overflow-x: auto;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 8px;
  background: #fff;
}
.panel-lead-project-leads-body .panel-lead-project-leads-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.92rem;
}
.panel-lead-project-leads-body .panel-lead-project-leads-table thead {
  background: rgba(0, 0, 0, 0.04);
}
.panel-lead-project-leads-body .panel-lead-project-leads-table thead th {
  padding: 12px 14px;
  text-align: left;
  font-weight: 600;
  white-space: nowrap;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}
.panel-lead-project-leads-body .panel-lead-project-leads-table tbody tr {
  transition: background 0.1s ease;
}
.panel-lead-project-leads-body .panel-lead-project-leads-table tbody tr:hover {
  background: rgba(0, 0, 0, 0.025);
}
.panel-lead-project-leads-body .panel-lead-project-leads-table tbody tr:not(:last-child) td {
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}
.panel-lead-project-leads-body .panel-lead-project-leads-table tbody td {
  padding: 10px 14px;
  vertical-align: middle;
}
.panel-lead-project-leads-body .panel-lead-project-leads-table .panel-lead-project-leads-empty td {
  padding: 28px 14px;
  text-align: center;
  color: rgba(0, 0, 0, 0.5);
  font-style: italic;
}
.panel-lead-project-leads-body .panel-lead-project-leads-table .panel-lead-project-leads-actions-cell {
  text-align: right;
  white-space: nowrap;
  width: 1%;
}
.panel-lead-project-leads-body .panel-lead-project-leads-table .panel-lead-project-leads-delete-row {
  background: transparent;
  border: 0;
  padding: 4px 8px;
  cursor: pointer;
  font-size: 1.05rem;
  opacity: 0.55;
  transition: opacity 0.1s ease;
}
.panel-lead-project-leads-body .panel-lead-project-leads-table .panel-lead-project-leads-delete-row:hover {
  opacity: 1;
}
.panel-lead-project-leads-body .panel-lead-project-leads-table .panel-lead-project-leads-delete-row:active {
  transform: translateY(1px);
}
.panel-lead-project-leads-body .panel-lead-project-leads-modal-buttons {
  display: flex;
  gap: 0.75rem;
  justify-content: flex-end;
  margin-top: 1.5rem;
  flex-wrap: wrap;
}

.forgot-password-container {
  align-items: end;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: space-between;
  margin: 0.5rem 0 1rem;
}

@media only screen and (max-width: 1199px) {
  .forgot-password-container {
    margin: 0.5rem 1rem 1rem;
  }
}
.forgot-password-button {
  background: none;
  font-size: 0.9rem;
  color: var(--blue, #3b82f6);
}
.forgot-password-button:disabled {
  background: none;
  color: var(--gray-medium, #dee2e6);
}

.input-password {
  position: relative;
}

.input-password-icon-button {
  position: absolute;
  display: flex;
  flex-direction: row;
  gap: 0.5rem;
  align-items: center;
  right: 0;
  bottom: 0.25rem;
  background: none;
  font-size: 0.9rem;
  font-weight: 700;
  color: var(--blue, #3b82f6);
}

.escola-da-inteligencia-capture-body {
  margin: 0;
  padding: 0;
  background: #1a1a1a;
  font-family: "Nunito", system-ui, sans-serif;
  color: #2D2D2D;
  overflow: hidden;
  width: 100vw;
  height: 100vh;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}
.escola-da-inteligencia-capture-body *, .escola-da-inteligencia-capture-body *::before, .escola-da-inteligencia-capture-body *::after {
  box-sizing: border-box;
  touch-action: manipulation;
}
.escola-da-inteligencia-capture-body .ei-cap-stage {
  position: fixed;
  top: 50%;
  left: 50%;
  width: 1080px;
  height: 1920px;
  background: #FFF7F2;
  transform-origin: center center;
  transform: translate(-50%, -50%) scale(var(--ei-cap-stage-scale, 1));
  overflow: hidden;
}
.escola-da-inteligencia-capture-body .ei-cap-screen {
  position: absolute;
  inset: 0;
  width: 1080px;
  height: 1920px;
  background: #FFF7F2;
  display: none;
}
.escola-da-inteligencia-capture-body .ei-cap-screen.is-active {
  display: block;
}
.escola-da-inteligencia-capture-body .ei-cap-screen-header {
  position: absolute;
  top: 60px;
  left: 80px;
  right: 80px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  z-index: 5;
}
.escola-da-inteligencia-capture-body .ei-logo-wrapper {
  background: #FFFFFF;
  padding: 14px 22px;
  border-radius: 22px;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.06);
  display: inline-flex;
  align-items: center;
}
.escola-da-inteligencia-capture-body .ei-logo-img {
  height: 64px;
  width: auto;
  display: block;
}
.escola-da-inteligencia-capture-body .ei-logo-img.ei-logo-img-large {
  height: 150px;
}
.escola-da-inteligencia-capture-body .ei-cta {
  border: none;
  cursor: pointer;
  font-family: inherit;
  outline: none;
  appearance: none;
}
.escola-da-inteligencia-capture-body .ei-cta-primary {
  height: 140px;
  padding: 0 60px;
  border-radius: 70px;
  background: #E94E1B;
  color: #FFFFFF;
  font-size: 44px;
  font-weight: 800;
  letter-spacing: 0.5px;
  box-shadow: 0 12px 30px rgba(233, 78, 27, 0.35);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
}
.escola-da-inteligencia-capture-body .ei-cta-primary:disabled {
  background: #D8D8D8;
  color: #6B6B6B;
  box-shadow: none;
  cursor: not-allowed;
}
.escola-da-inteligencia-capture-body .ei-cta-secondary {
  height: 140px;
  padding: 0 50px;
  border-radius: 70px;
  background: #FFFFFF;
  color: #E94E1B;
  border: 3px solid #E94E1B;
  font-size: 36px;
  font-weight: 800;
  letter-spacing: 0.5px;
  cursor: pointer;
}
.escola-da-inteligencia-capture-body .ei-cap-forest-backdrop {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: radial-gradient(circle at 12% 18%, rgba(124, 179, 66, 0.12) 0 6px, transparent 7px), radial-gradient(circle at 88% 22%, rgba(244, 132, 95, 0.18) 0 4px, transparent 5px), radial-gradient(circle at 30% 80%, rgba(124, 179, 66, 0.1) 0 8px, transparent 9px), radial-gradient(circle at 75% 70%, rgba(233, 78, 27, 0.1) 0 5px, transparent 6px), radial-gradient(circle at 50% 40%, rgba(124, 179, 66, 0.1) 0 6px, transparent 7px);
}
.escola-da-inteligencia-capture-body .ei-cap-forest-backdrop.ei-cap-forest-backdrop-dense {
  filter: saturate(1.2);
  opacity: 1.4;
}
.escola-da-inteligencia-capture-body {
  /* ========== TELA 11 · CÂMERA ========== */
}
.escola-da-inteligencia-capture-body .ei-cap-screen-camera {
  background: #1a1a1a;
}
.escola-da-inteligencia-capture-body .ei-cap-camera-bg {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, #3a3a4a 0%, #5a5a6a 40%, #2a2a3a 100%);
}
.escola-da-inteligencia-capture-body .ei-cap-camera-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  background: #1a1a1a;
}
.escola-da-inteligencia-capture-body .ei-cap-camera-video.is-rotated-90 {
  inset: auto;
  top: 50%;
  left: 50%;
  width: 1920px;
  height: 1080px;
  transform-origin: center center;
}
.escola-da-inteligencia-capture-body .ei-cap-camera-top-shade {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 200px;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.7), transparent);
  z-index: 4;
}
.escola-da-inteligencia-capture-body .ei-cap-camera-bottom-shade {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 600px;
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.85) 30%, transparent);
  z-index: 4;
}
.escola-da-inteligencia-capture-body .ei-cap-camera-header {
  position: absolute;
  top: 60px;
  left: 80px;
  right: 80px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  z-index: 6;
}
.escola-da-inteligencia-capture-body .ei-cap-live-pill {
  display: flex;
  align-items: center;
  gap: 12px;
  color: #FFFFFF;
  font-size: 28px;
  font-weight: 700;
}
.escola-da-inteligencia-capture-body .ei-cap-live-dot {
  width: 16px;
  height: 16px;
  border-radius: 8px;
  background: #E94E1B;
  animation: ei-cap-pulse 1.4s ease-in-out infinite;
}
@keyframes ei-cap-pulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.4;
  }
}
.escola-da-inteligencia-capture-body .ei-cap-camera-bracket {
  position: absolute;
  width: 80px;
  height: 80px;
  z-index: 5;
}
.escola-da-inteligencia-capture-body .ei-cap-camera-bracket-tl {
  top: 320px;
  left: 120px;
  border-top: 8px solid #FFFFFF;
  border-left: 8px solid #FFFFFF;
  border-radius: 12px 0 0 0;
}
.escola-da-inteligencia-capture-body .ei-cap-camera-bracket-tr {
  top: 320px;
  right: 120px;
  border-top: 8px solid #FFFFFF;
  border-right: 8px solid #FFFFFF;
  border-radius: 0 12px 0 0;
}
.escola-da-inteligencia-capture-body .ei-cap-camera-bracket-bl {
  bottom: 920px;
  left: 120px;
  border-bottom: 8px solid #FFFFFF;
  border-left: 8px solid #FFFFFF;
  border-radius: 0 0 0 12px;
}
.escola-da-inteligencia-capture-body .ei-cap-camera-bracket-br {
  bottom: 920px;
  right: 120px;
  border-bottom: 8px solid #FFFFFF;
  border-right: 8px solid #FFFFFF;
  border-radius: 0 0 12px 0;
}
.escola-da-inteligencia-capture-body .ei-cap-countdown {
  position: absolute;
  top: 540px;
  left: 50%;
  transform: translateX(-50%);
  width: 320px;
  height: 320px;
  border-radius: 50%;
  background: rgba(233, 78, 27, 0.92);
  border: 10px solid #FFFFFF;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 220px;
  font-weight: 900;
  color: #FFFFFF;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.4);
  z-index: 7;
  animation: ei-cap-countdown-pop 1s ease-out;
}
@keyframes ei-cap-countdown-pop {
  0% {
    transform: translateX(-50%) scale(1.4);
    opacity: 0;
  }
  30% {
    transform: translateX(-50%) scale(1);
    opacity: 1;
  }
}
.escola-da-inteligencia-capture-body .ei-cap-camera-instructions {
  position: absolute;
  bottom: 360px;
  left: 80px;
  right: 80px;
  text-align: center;
  z-index: 5;
}
.escola-da-inteligencia-capture-body .ei-cap-camera-headline {
  font-size: 64px;
  font-weight: 900;
  color: #FFFFFF;
  margin: 0 0 16px;
}
.escola-da-inteligencia-capture-body .ei-cap-camera-sub {
  font-size: 34px;
  color: rgba(255, 255, 255, 0.85);
  font-weight: 500;
  margin: 0;
}
.escola-da-inteligencia-capture-body .ei-cap-shutter {
  position: absolute;
  bottom: 140px;
  left: 50%;
  transform: translateX(-50%);
  width: 200px;
  height: 200px;
  border-radius: 50%;
  background: #FFFFFF;
  border: 12px solid #E94E1B;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.5);
  z-index: 6;
}
.escola-da-inteligencia-capture-body .ei-cap-shutter:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.escola-da-inteligencia-capture-body .ei-cap-shutter-inner {
  width: 140px;
  height: 140px;
  border-radius: 50%;
  background: #E94E1B;
}
.escola-da-inteligencia-capture-body .ei-cap-camera-error {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 800px;
  background: rgba(0, 0, 0, 0.85);
  color: #FFFFFF;
  padding: 40px 56px;
  border-radius: 24px;
  font-size: 32px;
  text-align: center;
  z-index: 8;
}
.escola-da-inteligencia-capture-body .ei-cap-camera-error p, .escola-da-inteligencia-capture-body .ei-cap-camera-error .number-of-devices-label {
  margin: 0;
  line-height: 1.4;
}
.escola-da-inteligencia-capture-body {
  /* ========== TELA 12 · PROCESSANDO ========== */
}
.escola-da-inteligencia-capture-body .ei-cap-processing-card {
  position: absolute;
  top: 380px;
  left: 140px;
  right: 140px;
  height: 800px;
  border-radius: 36px;
  background: repeating-linear-gradient(135deg, #FFE4D6, #FFE4D6 20px, #FFF7F2 20px, #FFF7F2 40px);
  border: 4px dashed #F4845F;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 30px;
}
.escola-da-inteligencia-capture-body .ei-cap-processing-mono {
  font-size: 32px;
  color: #6B6B6B;
  font-family: "JetBrains Mono", monospace;
  font-weight: 600;
}
.escola-da-inteligencia-capture-body .ei-cap-processing-merge {
  display: flex;
  gap: 40px;
  align-items: center;
}
.escola-da-inteligencia-capture-body .ei-cap-processing-character {
  width: 240px;
  height: 240px;
  object-fit: contain;
}
.escola-da-inteligencia-capture-body .ei-cap-processing-plus {
  font-size: 80px;
  color: #F4845F;
  font-weight: 900;
}
.escola-da-inteligencia-capture-body .ei-cap-processing-photo-placeholder {
  width: 220px;
  height: 220px;
  border-radius: 50%;
  border: 4px solid #6B6B6B;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 28px;
  color: #6B6B6B;
  font-family: "JetBrains Mono", monospace;
}
.escola-da-inteligencia-capture-body .ei-cap-processing-text-block {
  position: absolute;
  top: 1280px;
  left: 80px;
  right: 80px;
  text-align: center;
}
.escola-da-inteligencia-capture-body .ei-cap-processing-headline {
  font-size: 60px;
  font-weight: 900;
  line-height: 1.15;
  margin: 0 0 30px;
  text-wrap: balance;
}
.escola-da-inteligencia-capture-body .ei-cap-processing-progress-track {
  width: 720px;
  margin: 0 auto 36px;
  height: 18px;
  border-radius: 9px;
  background: #FFE4D6;
  overflow: hidden;
}
.escola-da-inteligencia-capture-body .ei-cap-processing-progress-fill {
  position: relative;
  width: 5%;
  height: 100%;
  background: linear-gradient(90deg, #F4845F, #E94E1B);
  transition: width 0.6s ease;
  overflow: hidden;
}
.escola-da-inteligencia-capture-body .ei-cap-processing-progress-fill::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: -50%;
  width: 50%;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.55) 50%, rgba(255, 255, 255, 0) 100%);
  animation: ei-cap-progress-shimmer 1.6s linear infinite;
}
.escola-da-inteligencia-capture-body .ei-cap-processing-progress-fill::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: linear-gradient(115deg, rgba(255, 255, 255, 0.18) 0%, rgba(255, 255, 255, 0.18) 25%, rgba(255, 255, 255, 0) 25%, rgba(255, 255, 255, 0) 50%, rgba(255, 255, 255, 0.18) 50%, rgba(255, 255, 255, 0.18) 75%, rgba(255, 255, 255, 0) 75%, rgba(255, 255, 255, 0) 100%);
  background-size: 36px 100%;
  animation: ei-cap-progress-stripes 1.2s linear infinite;
  mix-blend-mode: overlay;
  pointer-events: none;
}
@keyframes ei-cap-progress-shimmer {
  from {
    left: -50%;
  }
  to {
    left: 100%;
  }
}
@keyframes ei-cap-progress-stripes {
  from {
    background-position: 0 0;
  }
  to {
    background-position: 36px 0;
  }
}
.escola-da-inteligencia-capture-body .ei-cap-processing-states {
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: center;
}
.escola-da-inteligencia-capture-body .ei-cap-processing-state {
  display: flex;
  align-items: center;
  gap: 18px;
  font-size: 32px;
  font-weight: 500;
  color: #6B6B6B;
  opacity: 0.5;
}
.escola-da-inteligencia-capture-body .ei-cap-processing-state.is-done {
  color: #7CB342;
  opacity: 1;
}
.escola-da-inteligencia-capture-body .ei-cap-processing-state.is-active {
  color: #2D2D2D;
  font-weight: 700;
  opacity: 1;
}
.escola-da-inteligencia-capture-body .ei-cap-processing-state-icon {
  font-size: 36px;
}
.escola-da-inteligencia-capture-body {
  /* ========== TELA 13 · RESULTADO FINAL ========== */
}
.escola-da-inteligencia-capture-body .ei-cap-final-headline-block {
  position: absolute;
  top: 200px;
  left: 80px;
  right: 80px;
  text-align: center;
}
.escola-da-inteligencia-capture-body .ei-cap-final-headline {
  font-size: 60px;
  font-weight: 900;
  line-height: 1.15;
  text-wrap: balance;
  margin: 0;
}
.escola-da-inteligencia-capture-body .ei-cap-final-name {
  color: #E94E1B;
}
.escola-da-inteligencia-capture-body .ei-cap-final-sub {
  font-size: 36px;
  color: #6B6B6B;
  font-weight: 500;
  margin-top: 14px;
}
.escola-da-inteligencia-capture-body .ei-cap-final-photo-card {
  position: absolute;
  top: 400px;
  left: 80px;
  right: 80px;
  height: 760px;
  border-radius: 36px;
  overflow: hidden;
  background: linear-gradient(135deg, #E89B5C 0%, #C25A1E 60%, #8A4A1E 100%);
  box-shadow: 0 24px 60px rgba(194, 90, 30, 0.4);
}
.escola-da-inteligencia-capture-body .ei-cap-final-photo-bg {
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 80% 25%, rgba(255, 224, 138, 0.6), transparent 50%), linear-gradient(180deg, #FFCB94 0%, #E89B5C 50%, #8A4A1E 100%);
}
.escola-da-inteligencia-capture-body .ei-cap-final-content-row {
  position: absolute;
  inset: 40px 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 30px;
  z-index: 2;
}
.escola-da-inteligencia-capture-body .ei-cap-final-preview-photo {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  border-radius: 28px;
  border: 6px solid rgba(255, 255, 255, 0.7);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.25);
}
.escola-da-inteligencia-capture-body .ei-cap-final-watermark {
  position: absolute;
  top: 30px;
  right: 30px;
  background: rgba(255, 255, 255, 0.92);
  padding: 10px 18px;
  border-radius: 12px;
  font-size: 22px;
  font-weight: 700;
  color: #E94E1B;
}
.escola-da-inteligencia-capture-body .ei-cap-qr-card {
  position: absolute;
  top: 1230px;
  left: 80px;
  right: 80px;
  background: #FFFFFF;
  border-radius: 28px;
  padding: 28px 36px;
  display: flex;
  align-items: center;
  gap: 28px;
  border: 3px solid #E94E1B;
  box-shadow: 0 8px 24px rgba(233, 78, 27, 0.15);
}
.escola-da-inteligencia-capture-body .ei-cap-qr-image-wrapper {
  width: 200px;
  height: 200px;
  background: #FFFFFF;
  border: 3px solid #2D2D2D;
  border-radius: 16px;
  padding: 12px;
  flex-shrink: 0;
}
.escola-da-inteligencia-capture-body .ei-cap-qr-image {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.escola-da-inteligencia-capture-body .ei-cap-qr-headline {
  font-size: 30px;
  font-weight: 800;
  color: #2D2D2D;
  margin-bottom: 8px;
}
.escola-da-inteligencia-capture-body .ei-cap-qr-sub {
  font-size: 24px;
  color: #6B6B6B;
  line-height: 1.4;
  font-weight: 500;
}
.escola-da-inteligencia-capture-body .ei-cap-final-cta-row {
  position: absolute;
  top: 1530px;
  left: 80px;
  right: 80px;
  display: flex;
  gap: 24px;
  justify-content: center;
  align-items: center;
}
.escola-da-inteligencia-capture-body .ei-cap-print-cta {
  height: 140px;
  font-size: 36px;
  flex: 1;
  max-width: 620px;
}
.escola-da-inteligencia-capture-body .ei-cap-final-footer {
  position: absolute;
  bottom: 80px;
  left: 80px;
  right: 80px;
  text-align: center;
  font-size: 22px;
  color: #6B6B6B;
  font-weight: 500;
  margin: 0;
}
.escola-da-inteligencia-capture-body .ei-cap-final-footer strong {
  color: #E94E1B;
}
.escola-da-inteligencia-capture-body {
  /* ========== TELA 14 · AGRADECIMENTO ========== */
}
.escola-da-inteligencia-capture-body .ei-cap-thanks-content {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 0 80px;
}
.escola-da-inteligencia-capture-body .ei-cap-thanks-logo {
  display: flex;
  align-items: center;
  justify-content: center;
}
.escola-da-inteligencia-capture-body .ei-cap-thanks-headline {
  font-size: 96px;
  font-weight: 900;
  line-height: 1.05;
  margin-top: 100px;
  margin-bottom: 36px;
  text-wrap: balance;
}
.escola-da-inteligencia-capture-body .ei-cap-thanks-sub {
  font-size: 44px;
  color: #6B6B6B;
  font-weight: 600;
  margin-bottom: 80px;
  max-width: 800px;
  line-height: 1.3;
}
.escola-da-inteligencia-capture-body .ei-cap-thanks-reset-pill {
  display: inline-flex;
  align-items: center;
  gap: 16px;
  padding: 20px 36px;
  border-radius: 60px;
  background: #FFFFFF;
  border: 2px solid #FFE4D6;
  font-size: 28px;
  color: #6B6B6B;
  font-weight: 600;
}
.escola-da-inteligencia-capture-body .ei-cap-thanks-reset-dot {
  width: 14px;
  height: 14px;
  border-radius: 7px;
  background: #E94E1B;
}

.explore__table--orders-monthly th,
.explore__table--orders-monthly td {
  text-align: center;
}

.backoffice-orders-monthly-money-paid {
  color: #2e7d32;
  font-weight: 700;
}

.backoffice-orders-monthly-money-pending {
  color: #757575;
  font-weight: 600;
}

.backoffice-orders-monthly-money-refunded {
  color: #8e24aa;
  font-weight: 600;
}

.backoffice-orders-monthly-money-zero {
  color: #c4c4c4;
}

.backoffice-orders-monthly-money-new {
  color: #212121;
  font-weight: 600;
}

.backoffice-orders-monthly-money-returning {
  color: #ef6c00;
  font-weight: 600;
}

.backoffice-orders-monthly-money-recurring {
  color: #1976d2;
  font-weight: 600;
}

.backoffice-orders-monthly-chart-toggle {
  display: inline-flex;
  align-items: center;
  margin: 0 1rem 12px;
  padding: 6px 14px;
  border: 1px solid #ddd;
  background: #fff;
  cursor: pointer;
  border-radius: 4px;
  font-size: 14px;
  color: #333;
}
.backoffice-orders-monthly-chart-toggle:hover {
  background-color: #f5f5f5;
}

.backoffice-orders-monthly-chart-toggle-chevron {
  width: 0;
  height: 0;
  margin-right: 8px;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 6px solid #555;
  transform: rotate(-90deg);
  transition: transform 0.15s ease;
}

.backoffice-orders-monthly-chart-toggle.active .backoffice-orders-monthly-chart-toggle-chevron {
  transform: rotate(0deg);
}

.backoffice-orders-monthly-timeframes {
  display: flex;
  gap: 4px;
  margin: 0 1rem 8px;
}
.backoffice-orders-monthly-timeframes button {
  padding: 6px 14px;
  border: 1px solid #ddd;
  background: #fff;
  cursor: pointer;
  border-radius: 4px;
  font-size: 14px;
}
.backoffice-orders-monthly-timeframes button.active {
  background-color: #1976d2;
  color: white;
  border-color: #1976d2;
}
.backoffice-orders-monthly-timeframes button:hover:not(.active) {
  background-color: #f5f5f5;
}

.backoffice-orders-monthly-chart-card {
  background-color: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  padding: 10px 12px;
  margin: 0 1rem 16px;
}

.backoffice-orders-monthly-chart-heading {
  font-size: 13px;
  font-weight: 600;
  color: #333;
  margin-bottom: 6px;
}

.backoffice-orders-monthly-chart-subheading {
  font-size: 12px;
  font-weight: 500;
  color: var(--gray-dark, #434343);
}

.backoffice-orders-monthly-legend {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
  margin-bottom: 8px;
  font-size: 12px;
  color: #444;
}

.backoffice-orders-monthly-swatch {
  display: inline-block;
  width: 12px;
  height: 12px;
  border-radius: 2px;
  margin-right: 5px;
  vertical-align: middle;
}

.backoffice-orders-monthly-swatch-total {
  background-color: rgba(46, 125, 50, 0.95);
}

.backoffice-orders-monthly-swatch-new {
  background-color: rgba(33, 33, 33, 0.9);
}

.backoffice-orders-monthly-swatch-returning {
  background-color: rgba(245, 124, 0, 0.9);
}

.backoffice-orders-monthly-swatch-recurring {
  background-color: rgba(33, 150, 243, 0.9);
}

.backoffice-orders-monthly-chart {
  width: 100%;
  height: 320px;
  position: relative;
}

.hydro-capture-body {
  margin: 0;
  background: #06243d;
  color: #fff;
  font-family: "Nunito", sans-serif;
  overflow: hidden;
  height: 100vh;
}

.hydro-cap-stage {
  position: relative;
  width: 100%;
  height: 100vh;
  overflow: hidden;
}

.hydro-cap-screen {
  position: absolute;
  inset: 0;
  display: none;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 40px;
  box-sizing: border-box;
  text-align: center;
}
.hydro-cap-screen.is-active {
  display: flex;
}

.hydro-cap-camera-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #000;
}

.hydro-cap-camera-header {
  position: absolute;
  top: 24px;
  left: 24px;
  right: 24px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  z-index: 5;
}

.hydro-cap-unit-pill {
  background: rgba(6, 36, 61, 0.85);
  color: #fff;
  padding: 10px 18px;
  border-radius: 999px;
  font-weight: 700;
  font-size: 18px;
}

.hydro-cap-live-pill {
  background: rgba(220, 38, 38, 0.9);
  color: #fff;
  padding: 8px 14px;
  border-radius: 999px;
  font-weight: 700;
  font-size: 14px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.hydro-cap-live-dot {
  width: 10px;
  height: 10px;
  background: #fff;
  border-radius: 50%;
  animation: hydroCapPulse 1s infinite;
}

@keyframes hydroCapPulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.3;
  }
}
.hydro-cap-mask {
  position: fixed;
  inset: 0;
  z-index: 3;
  pointer-events: none;
}

.hydro-cap-mask-hole {
  position: absolute;
  box-shadow: 0 0 0 100vmax rgba(0, 0, 0, 0.6);
  pointer-events: none;
  outline: 4px solid rgba(255, 255, 255, 0.95);
}

.hydro-cap-header-actions {
  display: flex;
  align-items: center;
  gap: 12px;
}

.hydro-cap-icon-button {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: rgba(6, 36, 61, 0.85);
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: #fff;
  font-size: 22px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.15s;
}
.hydro-cap-icon-button:hover {
  background: rgba(93, 173, 236, 0.85);
}

.hydro-cap-icon-cog {
  display: inline-block;
  transform: translateY(1px);
}

.hydro-cap-countdown {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 200px;
  color: #fff;
  text-shadow: 0 4px 30px rgba(0, 0, 0, 0.7);
  font-weight: 900;
  z-index: 10;
  animation: hydroCapPop 0.8s ease-out;
}

@keyframes hydroCapPop {
  0% {
    transform: translate(-50%, -50%) scale(0.3);
    opacity: 0;
  }
  50% {
    transform: translate(-50%, -50%) scale(1.2);
    opacity: 1;
  }
  100% {
    transform: translate(-50%, -50%) scale(1);
    opacity: 1;
  }
}
.hydro-cap-camera-instructions {
  position: absolute;
  bottom: 200px;
  left: 50%;
  transform: translateX(-50%);
  background: rgba(6, 36, 61, 0.85);
  padding: 16px 32px;
  border-radius: 16px;
  z-index: 5;
}

.hydro-cap-camera-headline {
  margin: 0;
  font-size: 28px;
}

.hydro-cap-camera-sub {
  margin: 8px 0 0;
  opacity: 0.9;
  font-size: 16px;
}

.hydro-cap-shutter {
  position: absolute;
  bottom: 60px;
  left: 50%;
  transform: translateX(-50%);
  width: 110px;
  height: 110px;
  border-radius: 50%;
  background: #fff;
  border: 8px solid rgba(255, 255, 255, 0.6);
  cursor: pointer;
  z-index: 6;
}
.hydro-cap-shutter:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.hydro-cap-shutter-inner {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background: #fff;
}

.hydro-cap-camera-error {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: rgba(220, 38, 38, 0.95);
  padding: 24px 32px;
  border-radius: 16px;
  z-index: 20;
}

.hydro-cap-screen-header h1 {
  font-size: 36px;
  margin: 0 0 24px;
}

.hydro-cap-processing-card {
  background: rgba(255, 255, 255, 0.05);
  padding: 32px 40px;
  border-radius: 20px;
  max-width: 600px;
  border: 1px solid rgba(255, 255, 255, 0.1);
}
.hydro-cap-processing-card p, .hydro-cap-processing-card .number-of-devices-label {
  font-size: 18px;
  line-height: 1.5;
  margin: 0 0 12px;
}

.hydro-cap-processing-progress-track {
  width: 100%;
  height: 8px;
  background: rgba(255, 255, 255, 0.15);
  border-radius: 4px;
  margin: 24px 0;
  overflow: hidden;
}

.hydro-cap-processing-progress-fill {
  height: 100%;
  background: #5dadec;
  width: 5%;
  transition: width 0.5s ease-out;
  border-radius: 4px;
}

.hydro-cap-processing-states {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 16px;
  text-align: left;
}

.hydro-cap-processing-state {
  display: flex;
  gap: 12px;
  align-items: center;
  opacity: 0.5;
  transition: opacity 0.3s;
}
.hydro-cap-processing-state.is-done, .hydro-cap-processing-state.is-active {
  opacity: 1;
}

.hydro-cap-processing-state-icon {
  width: 24px;
  text-align: center;
  font-weight: bold;
}

.hydro-cap-final-photo-card {
  margin: 24px 0;
  padding: 16px;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.5);
}

.hydro-cap-final-preview-photo {
  max-width: 60vw;
  max-height: 50vh;
  display: block;
}

.hydro-cap-qr-card {
  display: flex;
  align-items: center;
  gap: 24px;
  background: rgba(255, 255, 255, 0.05);
  padding: 20px 28px;
  border-radius: 16px;
  margin: 16px 0;
}

.hydro-cap-qr-image {
  width: 120px;
  height: 120px;
  background: #fff;
  border-radius: 8px;
  padding: 8px;
}

.hydro-cap-qr-text-wrapper {
  text-align: left;
}

.hydro-cap-qr-headline {
  font-weight: 700;
  font-size: 18px;
}

.hydro-cap-qr-sub {
  font-size: 14px;
  opacity: 0.85;
  margin-top: 6px;
}

.hydro-cap-final-cta-row {
  display: flex;
  gap: 16px;
  margin-top: 24px;
}

.hydro-cta {
  padding: 16px 32px;
  border-radius: 999px;
  border: none;
  font-weight: 700;
  font-size: 18px;
  cursor: pointer;
  font-family: inherit;
}
.hydro-cta:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.hydro-cta-primary {
  background: #5dadec;
  color: #06243d;
}

.hydro-cta-secondary {
  background: transparent;
  color: #fff;
  border: 2px solid rgba(255, 255, 255, 0.3);
}

.hydro-cap-back-to-start {
  margin-top: 20px;
  background: transparent;
  color: #fff;
  border: none;
  font-family: inherit;
  font-weight: 600;
  font-size: 14px;
  letter-spacing: 0.05em;
  opacity: 0.7;
  cursor: pointer;
  padding: 8px 16px;
}
.hydro-cap-back-to-start:hover {
  opacity: 1;
}

.hydro-cap-thanks-content {
  background: rgba(0, 0, 0, 0.3);
  padding: 48px 64px;
  border-radius: 20px;
}

.hydro-cap-thanks-headline {
  font-size: 48px;
  margin: 0;
}

.hydro-cap-thanks-sub {
  font-size: 20px;
  margin: 16px 0;
  opacity: 0.9;
}

.hydro-cap-thanks-reset-pill {
  margin-top: 24px;
  padding: 12px 20px;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 999px;
  display: inline-block;
  font-size: 14px;
}

.hydro-cap-config-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.7);
  z-index: 100;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 24px;
}
.hydro-cap-config-backdrop.is-open {
  display: flex;
}

.hydro-cap-config-card {
  background: #0e3a5f;
  color: #fff;
  border-radius: 20px;
  width: min(420px, 100%);
  max-height: 80vh;
  overflow-y: auto;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.5);
  border: 1px solid rgba(255, 255, 255, 0.12);
}

.hydro-cap-config-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 24px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.hydro-cap-config-head h2 {
  margin: 0;
  font-size: 22px;
}

.hydro-cap-config-close {
  background: transparent;
  border: none;
  color: #fff;
  font-size: 32px;
  line-height: 1;
  cursor: pointer;
  padding: 0 8px;
}

.hydro-cap-config-body {
  padding: 16px 24px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.hydro-cap-config-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 16px;
  background: rgba(255, 255, 255, 0.05);
  border-radius: 12px;
  cursor: pointer;
  font-size: 16px;
}
.hydro-cap-config-row:hover {
  background: rgba(255, 255, 255, 0.08);
}
.hydro-cap-config-row input[type=checkbox] {
  width: 22px;
  height: 22px;
  accent-color: #5dadec;
}

.hydro-cap-config-foot {
  padding: 16px 24px 24px;
  display: flex;
  justify-content: flex-end;
}

.panel-my-events-table__link {
  text-decoration: none;
  color: inherit;
  display: block;
}

.panel-my-events-title-container {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin: 1rem 0 1rem;
}

.panel-my-events-input-search-container {
  align-items: center;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: space-between;
  margin-bottom: 1rem;
}

.panel-my-events-select-container {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: end;
  gap: 1rem;
  flex-grow: 1;
}
.panel-my-events-select-container select {
  font: 700 1rem "Customfont";
  text-align: left;
  min-width: 0;
}

#search_ai_event_input {
  border-radius: 3rem;
  font-size: 1.1rem;
  padding: 1rem 1rem 1rem 3rem;
  box-shadow: 8px 12px 24px 0px rgba(18, 18, 18, 0.08);
  width: 100%;
  border: 2px solid transparent;
  transition: border-color 0.5s ease-in-out;
}
#search_ai_event_input:not(:placeholder-shown) {
  border-color: var(--black, #121212);
}
#search_ai_event_input:focus {
  border-color: var(--black, #121212);
}

.panel-my-events-input-search {
  position: relative;
  flex-grow: 1;
}

.panel-my-events-input-search label {
  position: absolute;
  left: 1rem;
  top: 50%;
  transform: translateY(-50%);
}

.panel-my-events-header {
  padding-top: 1rem;
}

.panel-my-events-header__logo {
  margin-right: clamp(0.5rem, 13vw - 37px, 3rem);
}

.panel-my-events-header__profile-image {
  border-radius: 100%;
}

.panel-my-events-table-container {
  width: 100%;
  overflow: auto;
}

.panel-my-events-table {
  border-collapse: collapse;
  font-size: 1rem;
  text-align: left;
  width: 100%;
  font-weight: 500;
}
.panel-my-events-table th {
  background-color: var(--black, #121212);
  color: var(--white, #ffffff);
  font-weight: bold;
}
.panel-my-events-table th:first-of-type {
  border-top-left-radius: 0.5rem;
}
.panel-my-events-table th:last-of-type {
  border-top-right-radius: 0.5rem;
}
.panel-my-events-table td,
.panel-my-events-table th {
  text-wrap: nowrap;
  vertical-align: middle;
}
.panel-my-events-table th {
  padding: 0.75rem 2rem;
}
.panel-my-events-table td {
  padding: 1rem 2rem;
}
.panel-my-events-table tr {
  transition: background-color 0.25s linear;
}
.panel-my-events-table tr:nth-child(even) {
  background-color: var(--white, #ffffff);
}
.panel-my-events-table tr:hover {
  background-color: var(--gray-medium, #dee2e6);
}

.panel-my-events-table__type {
  border: 1px solid var(--black, #121212);
  border-radius: 2rem;
  padding: 0.5rem 1rem;
  width: fit-content;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0.5rem;
}

.panel-my-events-table__status {
  border: 1px solid var(--black, #121212);
  border-radius: 2rem;
  padding: 0.5rem 1.5rem;
  text-wrap: nowrap;
  width: fit-content;
}
.panel-my-events-table__status.active {
  background-color: #1abc9c;
  border-color: #1abc9c;
}

.table-without-rows {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-top: 6rem;
}
.table-without-rows h1 {
  font-size: 2rem;
  font-weight: 400;
  text-align: center;
}

@media only screen and (max-width: 600px) {
  .panel-my-events-select-container {
    justify-content: space-between;
  }
}
.backoffice-site-errors-status {
  padding: 0.25rem 0.5rem;
  border: none;
  border-radius: 62.4375rem;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.025rem;
  cursor: pointer;
}
.backoffice-site-errors-status--new {
  background-color: color-mix(in srgb, var(--red, #fd5249) 18%, transparent);
  color: var(--red, #fd5249);
}
.backoffice-site-errors-status--seen {
  background-color: color-mix(in srgb, var(--blue, #3b82f6) 18%, transparent);
  color: var(--blue, #3b82f6);
}
.backoffice-site-errors-status--resolved {
  background-color: color-mix(in srgb, var(--success, #23a667) 18%, transparent);
  color: var(--success, #23a667);
}

.backoffice-site-errors-error-cell {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  max-width: 480px;
}
.backoffice-site-errors-error-cell .backoffice-site-errors-copy-button {
  white-space: nowrap;
  font-size: 12px;
  padding: 6px 12px;
}

.backoffice-site-errors-details {
  max-width: 480px;
  interpolate-size: allow-keywords;
}
.backoffice-site-errors-details::details-content {
  block-size: 0;
  overflow: clip;
  transition: block-size 0.2s ease, content-visibility 0.2s allow-discrete;
  transition-behavior: allow-discrete;
}
.backoffice-site-errors-details[open]::details-content {
  block-size: auto;
}
.backoffice-site-errors-details .backoffice-site-errors-message {
  cursor: pointer;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 480px;
}
.backoffice-site-errors-details .backoffice-site-errors-trace {
  margin-top: 8px;
  padding: 8px;
  max-height: 320px;
  overflow: auto;
  contain: content;
  white-space: pre-wrap;
  word-break: break-word;
  font-family: monospace;
  font-size: 12px;
  background-color: var(--gray-light, #f5f6f7);
  border-radius: 6px;
}

.select-all-images-label, .modal-delete-selected-event-photos-header-button-container, .fullscreen-button-container,
.panel-event-gallery-button-container, .panel-event-image-list, .panel-event-header__device-printer-container, .panel-event-header__article, .panel-event-header__name-status-container, .panel-my-events-header__user-name-container, .panel-event-header__info-container, .panel-event-time-container {
  display: flex;
  flex-direction: row;
}

.fullscreen-image-item, .modal-delete-selected-event-photos .modal-content, .panel-event-delete-photo-custom-checkbox, .panel-event-image-list li:last-child .panel-event-image-sublist.one-image:last-child li, .modal-panel-event-qrcode .modal-content, .modal-fullscreen-image-list, .panel-event-image-sublist .loader,
.client-receive-photo-list .loader, .panel-event-image-list > li, #no_photos_yet_div, .panel-event-header {
  display: flex;
  flex-direction: column;
}

.panel-event-header__info-container menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

.panel-event-header {
  gap: 0.5rem;
}

.panel-event-time-container {
  flex-wrap: wrap;
  gap: 1rem;
}
.panel-event-time-container strong {
  margin-right: 0.25rem;
}
.panel-event-time-container strong,
.panel-event-time-container time {
  font-size: 1.1rem;
  font-weight: 500;
}

.panel-event-header__info-container {
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: space-between;
}
.panel-event-header__info-container menu {
  display: flex;
  flex-direction: row;
  flex-grow: 1;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: end;
}

.panel-my-events-header__user-name {
  display: inline-block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 16ch;
}

.panel-my-events-header__user-name-container {
  align-items: center;
  flex-wrap: wrap;
  font: 400 1.5rem "Customfont";
  gap: 0.5rem;
  color: inherit;
  text-decoration: none;
}

.panel-event-header__name-status-container {
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem;
}
.panel-event-header__name-status-container h2 {
  font-size: 0.8rem;
  background-color: transparent;
  border-radius: 2rem;
  border: 1px solid var(--black, #121212);
  padding: 0.5rem 1.5rem;
}
.panel-event-header__name-status-container h2.active {
  background-color: #1abc9c;
  border-color: #1abc9c;
}

.panel-event-header__article {
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: space-between;
}

.hover-image {
  display: none;
}

.panel-event-header__device-printer-container {
  flex-wrap: wrap;
  gap: 0.5rem;
}
.panel-event-header__device-printer-container h2 {
  align-items: center;
  background-color: var(--white, #ffffff);
  border-radius: 1rem;
  cursor: pointer;
  display: flex;
  font-size: 0.7rem;
  font-weight: 700;
  gap: 0.25rem;
  padding: 0.25rem 0.5rem;
  position: relative;
}
.panel-event-header__device-printer-container h2:hover .default-image {
  display: none;
}
.panel-event-header__device-printer-container h2:hover .hover-image {
  display: inline-block;
}
.panel-event-header__device-printer-container h2:hover .device-printer-tooltip-container {
  display: inline-block;
}

#no_photos_yet_div {
  align-items: center;
  gap: 1rem;
  justify-content: center;
  margin-top: 6rem;
  text-align: center;
}
#no_photos_yet_div h1 {
  font: 400 2rem "Customfont";
}

.no-photos-yet-list {
  display: grid;
  gap: 1rem;
  grid-template-columns: 1fr 1fr 1fr;
  height: 100%;
  list-style: none;
  margin-top: 2rem;
  width: 100%;
}
.no-photos-yet-list li {
  aspect-ratio: 1/1;
  background-color: var(--gray-medium, #dee2e6);
  height: 100%;
  width: 100%;
}
.no-photos-yet-list li:nth-child(n+4) {
  background: linear-gradient(180deg, var(--gray-medium, #dee2e6) 0%, var(--gray-light, #f5f6f7) 51.5%);
}

.big-screen-stacked .panel-event-image-list {
  align-items: center;
  flex-direction: column;
}
.big-screen-stacked .panel-event-image-list > li {
  flex: none;
  height: auto;
  max-width: 450px;
  width: 100%;
}
.big-screen-stacked .panel-event-image-list > li:nth-child(3) {
  order: -1;
}

.panel-event-image-list-container.reversed-qrcode-list:not(.big-screen-sequence-strips):not(.big-screen-stacked) .panel-event-image-list {
  gap: 0;
  border-radius: 0.5rem;
  overflow: hidden;
}
.panel-event-image-list-container.reversed-qrcode-list:not(.big-screen-sequence-strips):not(.big-screen-stacked) .panel-event-image-list > li {
  border-radius: 0;
}

.panel-event-image-list-container.reversed-qrcode-list.big-screen-stacked {
  gap: 3rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.panel-event-image-list-container.reversed-qrcode-list.big-screen-stacked .panel-event-image-list {
  gap: 0;
}
.panel-event-image-list-container.reversed-qrcode-list.big-screen-stacked .panel-event-image-list > li {
  border-radius: 0;
}
.panel-event-image-list-container.reversed-qrcode-list.big-screen-stacked .panel-event-image-list > li:nth-child(2) {
  border-radius: 0 0 0.5rem 0.5rem;
}
.panel-event-image-list-container.reversed-qrcode-list.big-screen-stacked .panel-event-image-list > li:nth-child(3) {
  border-radius: 0.5rem 0.5rem 0 0;
}
@media only screen and (max-width: 600px) {
  .panel-event-image-list-container.reversed-qrcode-list.big-screen-stacked {
    gap: 1.5rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media only screen and (min-width: 1401px) and (max-width: 2100px) {
  .panel-event-image-list-container.reversed-qrcode-list.big-screen-stacked {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
@media only screen and (min-width: 2101px) {
  .panel-event-image-list-container.reversed-qrcode-list.big-screen-stacked {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
}

.panel-event-image-list-container.reversed-qrcode-list.big-screen-sequence-strips {
  gap: 1.25rem;
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
.panel-event-image-list-container.reversed-qrcode-list.big-screen-sequence-strips .panel-event-image-list-container-row,
.panel-event-image-list-container.reversed-qrcode-list.big-screen-sequence-strips .panel-event-image-list > li,
.panel-event-image-list-container.reversed-qrcode-list.big-screen-sequence-strips .panel-event-image-sublist {
  display: contents;
}
.panel-event-image-list-container.reversed-qrcode-list.big-screen-sequence-strips .panel-event-image-list {
  display: grid;
  gap: 0;
  grid-auto-columns: 20%;
  grid-auto-flow: column;
  justify-content: start;
  border-radius: 0.5rem;
  overflow: hidden;
}
.panel-event-image-list-container.reversed-qrcode-list.big-screen-sequence-strips .panel-event-image-sublist > li {
  border-radius: 0;
  overflow: hidden;
}
.panel-event-image-list-container.reversed-qrcode-list.big-screen-sequence-strips .panel-event-image-list > li:nth-child(3) .panel-event-image-sublist > li {
  background-color: var(--gray-medium, #dee2e6);
  order: -1;
}
@media only screen and (min-width: 1401px) and (max-width: 2100px) {
  .panel-event-image-list-container.reversed-qrcode-list.big-screen-sequence-strips {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media only screen and (min-width: 2101px) {
  .panel-event-image-list-container.reversed-qrcode-list.big-screen-sequence-strips {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 950px) {
  .panel-event-image-list-container.reversed-qrcode-list.big-screen-sequence-strips .panel-event-image-list {
    grid-auto-flow: row;
    grid-template-columns: minmax(0, 1fr);
    align-content: start;
  }
}
@media only screen and (min-width: 601px) and (max-width: 950px) {
  .panel-event-image-list-container.reversed-qrcode-list.big-screen-sequence-strips {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 600px) {
  .panel-event-image-list-container.reversed-qrcode-list.big-screen-sequence-strips {
    gap: 0.75rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.panel-event-image-list {
  gap: 2rem;
  list-style: none;
  justify-content: center;
  align-items: center;
}
.panel-event-image-list > li {
  background-color: var(--black, #121212);
  border-radius: 0.5rem;
  flex: 1;
  height: 100%;
  overflow: hidden;
  position: relative;
}
.panel-event-image-list .button-primary {
  bottom: 1rem;
  left: 1rem;
  position: absolute;
}
@media only screen and (max-width: 950px) {
  .panel-event-image-list {
    gap: 0.5rem;
  }
  .panel-event-image-list .button-primary {
    font-size: 0.75rem;
    gap: 0.25rem;
    padding: 0.25rem;
  }
  .panel-event-image-list .button-primary img {
    height: 1rem;
    width: 1rem;
  }
}

.panel-event-image-is-loading {
  position: relative;
}

.panel-event-image-sublist,
.client-receive-photo-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  height: 100%;
  list-style: none;
}
.panel-event-image-sublist img,
.client-receive-photo-list img {
  aspect-ratio: 1/1;
  height: 100%;
  object-fit: cover;
  width: 100%;
}
.panel-event-image-sublist .loader,
.client-receive-photo-list .loader {
  align-items: center;
  animation: unset;
  height: 100%;
  justify-content: center;
  left: 50%;
  margin: 0 auto;
  position: absolute;
  transform: translateY(-50%) translateX(-50%);
  top: 50%;
  width: 100%;
}
.panel-event-image-sublist .loader img,
.client-receive-photo-list .loader img {
  animation: rotating 1.5s infinite linear;
  height: auto;
  max-width: 120px;
  position: absolute;
  width: 100%;
}
.panel-event-image-sublist .loader::before,
.client-receive-photo-list .loader::before {
  content: "";
  background: linear-gradient(90deg, var(--blue, #3b82f6) 50.54%, var(--gradient2, #60c7ba) 81.76%);
  height: 100%;
  left: 0;
  opacity: 0.75;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: -1;
}
.panel-event-image-sublist li,
.client-receive-photo-list li {
  position: relative;
}
.panel-event-image-sublist.photo-strip,
.client-receive-photo-list.photo-strip {
  grid-template-columns: 1fr;
  justify-items: center;
}
.panel-event-image-sublist.photo-strip img,
.client-receive-photo-list.photo-strip img {
  object-fit: contain;
}
.panel-event-image-sublist.one-image,
.client-receive-photo-list.one-image {
  grid-template-columns: 1fr;
}
.panel-event-image-sublist.big-screen-vertical,
.client-receive-photo-list.big-screen-vertical {
  grid-template-columns: 1fr;
  aspect-ratio: unset;
}

.panel-event-image-sublist {
  aspect-ratio: 1/1;
}

.panel-event-image-list-container {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 2rem;
  list-style: none;
  margin-top: 2rem;
}
.panel-event-image-list-container.grid-3 {
  gap: 3rem;
  grid-template-columns: repeat(3, 1fr);
}
.panel-event-image-list-container.grid-2 {
  gap: 3rem;
  grid-template-columns: repeat(2, 1fr);
}
.panel-event-image-list-container.grid-1 {
  grid-template-columns: repeat(1, 1fr);
}

.modal-fullscreen-image-list {
  align-items: center;
  flex-wrap: wrap;
  justify-content: center;
  list-style: none;
  position: relative;
}
.modal-fullscreen-image-list li {
  position: relative;
}
.modal-fullscreen-image-list img {
  height: 100vh;
  object-fit: contain;
  width: 100%;
}
.modal-fullscreen-image-list .ios-instructions {
  bottom: 1rem;
  color: var(--white, #ffffff);
  font: 400 1.25rem "Customfont";
  padding: 0 1rem;
  position: absolute;
  width: 100%;
}
.modal-fullscreen-image-list {
  --item-count: 1;
}
.modal-fullscreen-image-list.layout-row {
  grid-auto-flow: column;
  grid-template-rows: 1fr;
  grid-template-columns: repeat(var(--item-count), 1fr);
}
.modal-fullscreen-image-list.layout-column {
  grid-auto-flow: row;
  grid-template-columns: 1fr;
  grid-template-rows: repeat(var(--item-count), 1fr);
}

.modal-fullscreen .modal-content,
.modal-fullscreen .content-modal {
  padding: 0;
}

.modal-fullscreen .content-modal {
  border-radius: 0.5rem;
  overflow: hidden;
  transform: unset !important;
  top: unset !important;
}

.modal-fullscreen .content-close {
  position: absolute;
  right: 1rem;
  top: 1rem;
}

.modal-fullscreen .close {
  background-color: var(--white, #ffffff) !important;
  border-radius: 100% !important;
  padding: 1.5rem !important;
  transition: opacity 0.5s ease;
}
.modal-fullscreen .close:hover, .modal-fullscreen .close:active {
  opacity: 0.75;
}

.fullscreen-button-container,
.panel-event-gallery-button-container {
  bottom: 1rem;
  gap: 1rem;
  left: 1rem;
  position: absolute;
}
.fullscreen-button-container .button-primary,
.panel-event-gallery-button-container .button-primary {
  box-shadow: 0px 0px 10px 0px var(--gray-dark, #434343);
  padding: 0.5rem;
}
.fullscreen-button-container img,
.panel-event-gallery-button-container img {
  max-width: 20px;
}

.panel-event-gallery-container {
  border-radius: 0.5rem;
  overflow: hidden;
  position: relative;
}

.modal-panel-event-qrcode .modal-content {
  align-items: center;
  gap: 1rem;
  justify-content: center;
  text-align: center;
}

.panel-event-image-list li:last-child .panel-event-image-sublist.one-image:last-child {
  background-color: var(--gray-medium, #dee2e6);
}
.panel-event-image-list li:last-child .panel-event-image-sublist.one-image:last-child li {
  align-items: center;
  height: 100%;
  justify-content: center;
  width: 100%;
}
.panel-event-image-list li:last-child .panel-event-image-sublist.one-image:last-child img {
  height: 50%;
  object-fit: contain;
  width: 50%;
}

.device-printer-tooltip-container {
  background-color: var(--white, #ffffff);
  display: none;
  padding: 0.5rem;
  position: absolute;
  right: 0;
  text-align: center;
  top: 100%;
  width: 20vw;
  z-index: 100;
}
.device-printer-tooltip-container p, .device-printer-tooltip-container .number-of-devices-label {
  font: 400 0.7rem "Customfont";
}

#panel-event-dropdown {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

#panel-event-dropdown:focus-visible ~ label {
  outline: 2px solid var(--blue, #3b82f6);
  outline-offset: 2px;
}

.dropdown-content .button-primary.button-delete {
  background-color: var(--red, #fd5249);
  border-radius: 0;
  color: var(--white, #ffffff);
}
.dropdown-content .button-primary.button-delete:hover {
  background-color: var(--red, #fd5249);
  color: var(--white, #ffffff);
}

.dropdown-content .button-primary.button-delete-select-images {
  color: var(--red, #fd5249);
}
.dropdown-content .button-primary.button-delete-select-images:hover {
  color: var(--red, #fd5249);
}

.panel-event-header .dropdown-content {
  min-width: 16rem;
}

.panel-event-delete-photo-custom-checkbox {
  color: var(--black, #121212);
  gap: 1rem;
  position: relative;
  text-decoration: unset;
  width: 100%;
}
.panel-event-delete-photo-custom-checkbox label,
.panel-event-delete-photo-custom-checkbox button {
  background-color: var(--white, #ffffff);
  border-radius: 0.5rem;
  box-shadow: 0 1px 12px rgba(204, 204, 204, 0.25);
  left: 0.5rem;
  padding: 0.7rem;
  position: absolute;
  top: 0.5rem;
  z-index: 1;
}
.panel-event-delete-photo-custom-checkbox label div,
.panel-event-delete-photo-custom-checkbox button div {
  width: 18px;
  height: 18px;
  border: 2px solid var(--black, #121212);
  border-radius: 0.25rem;
}
.panel-event-delete-photo-custom-checkbox input[type=checkbox] {
  appearance: none;
  -webkit-appearance: none;
  border: none;
  display: inline-block;
  height: 100%;
  left: 0;
  position: absolute !important;
  top: 0;
  width: 100%;
  z-index: -1;
}
.panel-event-delete-photo-custom-checkbox input[type=checkbox]:focus-visible {
  outline: 2px solid var(--blue, #3b82f6);
  outline-offset: 0.5rem;
}
.panel-event-delete-photo-custom-checkbox input:checked + label div {
  border-width: 0.5rem;
}
.panel-event-delete-photo-custom-checkbox img {
  aspect-ratio: 200/200;
  background-color: var(--white, #ffffff);
  border-radius: 0.5rem;
  box-shadow: 0 1px 12px rgba(204, 204, 204, 0.25);
  height: auto;
  max-width: 200px;
  object-fit: cover;
  width: 100%;
}
.panel-event-delete-photo-custom-checkbox input:checked ~ img {
  opacity: 0.3;
}

.panel-event-delete-photo-custom-checkbox-list {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(auto-fit, minmax(0, 150px));
  justify-content: space-around;
  list-style: none;
}

.panel-event-delete-photo-lead-badge {
  align-items: center;
  background-color: var(--blue, #3b82f6);
  border: 2px solid var(--white, #ffffff);
  border-radius: 50%;
  bottom: 0.5rem;
  box-shadow: 0 1px 12px rgba(204, 204, 204, 0.25);
  display: flex;
  height: 28px;
  justify-content: center;
  position: absolute;
  right: 0.5rem;
  width: 28px;
  z-index: 1;
}
.panel-event-delete-photo-lead-badge img {
  background-color: transparent;
  border-radius: 0;
  box-shadow: none;
  height: 14px;
  max-width: none;
  width: 14px;
}

.panel-event-exclude-photos-lead-warning {
  align-items: center;
  color: var(--black, #121212);
  display: flex;
  font-size: 0.875rem;
  gap: 0.75rem;
}
.panel-event-exclude-photos-lead-warning .panel-event-delete-photo-lead-badge {
  bottom: unset;
  flex-shrink: 0;
  height: 26px;
  position: static;
  right: unset;
  width: 26px;
}

.modal-delete-selected-event-photos .content-close {
  align-items: center !important;
  gap: 1rem;
  justify-content: space-between !important;
}
.modal-delete-selected-event-photos .content-modal {
  background-color: var(--gray-light, #f5f6f7);
  margin-inline: 1rem;
  top: unset;
  transform: unset;
}
.modal-delete-selected-event-photos .modal-content {
  gap: 2rem;
  margin-top: 2rem;
}

.modal-delete-selected-event-photos-header-button-container {
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: space-between;
}

.select-all-images-label {
  align-items: center;
  background-color: var(--white, #ffffff);
  border-radius: 0.5rem;
  font: 400 1.1rem "Customfont";
  gap: 1ch;
  padding: 1rem;
}

.button-primary.button-delete,
.submmited-image-delete {
  background-color: var(--red, #fd5249) !important;
}
.button-primary.button-delete:hover,
.submmited-image-delete:hover {
  background-color: var(--red, #fd5249) !important;
}

.gallery-link-container {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 1ch !important;
}
.gallery-link-container.none {
  display: none !important;
}

.panel-event-body-no-images {
  max-height: 100vh;
  overflow: hidden;
}

.fullscreen-button {
  background-color: var(--white, #ffffff);
  border-radius: 100%;
  box-shadow: 0px 0px 12px 6px rgba(18, 18, 18, 0.08);
  padding: 1rem;
  position: absolute;
  right: 1rem;
  top: 1rem;
  transition: background-color 0.5s ease;
  z-index: 1;
}
.fullscreen-button img {
  height: 20px;
  transition: filter 0.5s ease;
  width: 20px;
}
.fullscreen-button:hover {
  background-color: var(--black, #121212);
}
.fullscreen-button:hover img {
  filter: contrast(0) brightness(100);
}

@media only screen and (max-width: 950px) {
  .fullscreen-button-container .button-primary {
    font-size: 0.75rem;
  }
  .fullscreen-button-container .button-primary img {
    max-width: 1rem;
  }
  .modal-delete-selected-event-photos h1 {
    font: 500 2rem "Customfont";
  }
  #no_photos_yet_div {
    margin-top: 1rem;
  }
  #no_photos_yet_div h1 {
    font-size: 1.5rem;
  }
  .fullscreen-button {
    padding: 0.5rem;
    right: 0.25rem;
    top: 0.25rem;
  }
}
.modal-fullscreen-image-list.composite_photo {
  gap: 0.5rem;
}

@supports (height: 100dvh) {
  .modal-fullscreen-image-list img {
    height: 100dvh;
  }
}
@media screen and (max-width: 950px) {
  .modal-fullscreen-image-list.composite_photo li {
    flex: 1 1 0; /* Allow items to grow and shrink equally */
    /* Optional: Set max-height to prevent individual items from exceeding container */
    height: 100%;
    max-height: 100%;
    min-height: 50px;
  }
  .modal-fullscreen-image-list.composite_photo li img {
    height: 100%;
  }
}
.modal-fullscreen-image-list button img {
  height: unset;
}

/**/
.modal-fullscreen-image-list {
  display: grid;
  gap: 0;
  height: 100%;
  align-items: stretch;
  justify-items: stretch;
}

.modal-fullscreen-image-list li {
  position: relative;
  overflow: hidden;
}

.modal-fullscreen-image-list img {
  width: 100%;
  object-fit: contain;
}

@supports (height: 100dvh) {
  .modal-fullscreen-image-list {
    height: 100dvh;
  }
}
/* Only the fullscreen images should stretch inside grid cells */
.modal-fullscreen-image-list img.fullscreen_final_key_image {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* Keep utility/icon images untouched */
.modal-fullscreen-image-list .fullscreen-button-container img {
  width: auto;
  height: auto;
  object-fit: initial;
}

.fullscreen-frame {
  position: relative;
  display: grid;
  place-items: center;
  max-width: 100%;
  max-height: 100%;
}

.fullscreen-frame > img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
}

.fullscreen-image-item {
  align-items: center;
  justify-content: center;
}

.panel-event-header__devices-online-link {
  color: inherit;
  text-decoration: none;
}

.modal-duplicate-event .button-primary img {
  margin: -4px 0;
  transform: translateY(-2px);
}

.modal-leads-export-container {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.panel-event-leads-sample-note,
.panel-event-leads-privacy-note {
  color: var(--gray-dark, #434343);
  font-size: 0.85rem;
  margin: 0;
}

.panel-event-leads-table-scroll {
  overflow: auto;
  max-height: 50vh;
  width: 100%;
  border-radius: 0.5rem;
  box-shadow: 0 1px 12px rgba(204, 204, 204, 0.25);
}

.panel-event-leads-table {
  border-collapse: collapse;
  font-size: 1rem;
  font-weight: 500;
  text-align: left;
  width: 100%;
}
.panel-event-leads-table th {
  background-color: var(--blue, #3b82f6);
  color: var(--white, #ffffff);
  font-weight: bold;
  padding: 0.75rem 2rem;
  position: sticky;
  top: 0;
  z-index: 1;
  max-width: 16rem;
  vertical-align: middle;
  white-space: normal;
}
.panel-event-leads-table th:first-of-type {
  border-top-left-radius: 0.5rem;
}
.panel-event-leads-table th:last-of-type {
  border-top-right-radius: 0.5rem;
}
.panel-event-leads-table td {
  padding: 1rem 2rem;
  text-wrap: nowrap;
  vertical-align: middle;
}
.panel-event-leads-table tr {
  transition: background-color 0.25s linear;
}
.panel-event-leads-table tbody tr:nth-child(even) {
  background-color: var(--white, #ffffff);
}
.panel-event-leads-table tbody tr:hover {
  background-color: var(--gray-medium, #dee2e6);
}

.panel-event-leads-cell {
  display: inline-block;
  max-width: 16rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  vertical-align: middle;
}

.panel-event-leads-thumb {
  width: clamp(2.5rem, 5vw, 3.5rem);
  height: clamp(2.5rem, 5vw, 3.5rem);
  object-fit: cover;
  border-radius: 0.375rem;
  vertical-align: middle;
}
.panel-event-leads-thumb + .panel-event-leads-thumb {
  margin-left: 0.375rem;
}

.basic-signature {
  background-color: var(--error, #fd5249);
  border-radius: 0.5rem;
  color: var(--white, #ffffff);
  font: 700 0.9rem "Customfont";
  padding: 0.5rem 1rem;
  width: fit-content;
}

.panel-home-main {
  padding: 1rem;
}

.button-primary,
.panel-ambiance-create-button,
.panel-personalize-event-add-option-button,
.submmited-image-delete {
  align-items: center;
  background-color: var(--black, #121212);
  border-radius: 0.5rem;
  color: var(--white, #ffffff);
  display: flex;
  flex-direction: row;
  font-size: 1rem;
  font-weight: bold;
  gap: 0.5rem;
  justify-content: center;
  padding: 0.5rem 1rem;
  transition: opacity 0.5s ease, background-color 0.5s ease;
  width: fit-content;
  word-break: break-word;
}
.button-primary:hover,
.panel-ambiance-create-button:hover,
.panel-personalize-event-add-option-button:hover,
.submmited-image-delete:hover {
  opacity: 0.75;
}

.button-primary.delete {
  background-color: var(--white, #ffffff);
  color: var(--red, #fd5249);
  transition: background-color 0.5s ease, color 0.5s ease;
}
.button-primary.delete img {
  transition: filter 0.5s ease;
}
.button-primary.delete:hover {
  background-color: var(--red, #fd5249);
  color: var(--white, #ffffff);
}
.button-primary.delete:hover img {
  filter: contrast(0) brightness(100);
}

.button-secondary {
  align-items: center;
  background-color: transparent;
  border: 2px solid var(--black, #121212);
  border-radius: 0.5rem;
  color: var(--black, #121212);
  display: flex;
  flex-direction: row;
  font-size: 1rem;
  font-weight: bold;
  gap: 0.5rem;
  justify-content: center;
  padding: calc(0.5rem - 2px) calc(1rem - 2px);
  transition: background-color 0.3s ease, color 0.3s ease;
  width: fit-content;
  word-break: break-word;
}
.button-secondary img {
  filter: brightness(0) invert(0);
  transition: filter 0.3s ease;
}
.button-secondary:hover {
  background-color: var(--black, #121212);
  color: var(--white, #ffffff);
}
.button-secondary:hover img {
  filter: brightness(0) invert(1);
}

.button-primary,
.panel-ambiance-create-button {
  text-decoration: unset;
}

.panel-home-app-card__store-link {
  align-items: center;
  background-color: var(--white, #ffffff);
  border-radius: 0.75rem;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.12);
  display: inline-flex;
  padding: 0.75rem 1rem;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.panel-home-app-card__store-link:hover {
  box-shadow: 0 16px 30px rgba(0, 0, 0, 0.16);
  transform: translateY(-2px);
}

.panel-home-app-card__button-frame {
  background-color: var(--white, #ffffff);
  border-radius: 0.75rem;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.12);
  display: inline-flex;
  padding: 0.75rem 1rem;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.panel-home-app-card__button-frame:hover {
  box-shadow: 0 16px 30px rgba(0, 0, 0, 0.16);
  transform: translateY(-2px);
}

.panel-home-app-card__button {
  align-items: center;
  background-color: var(--black, #121212);
  color: var(--white, #ffffff);
  border: 0;
  border-radius: 0.5rem;
  cursor: pointer;
  display: flex;
  flex-direction: row;
  gap: 0.75rem;
  justify-content: flex-start;
  min-width: 12rem;
  padding: 0.5rem;
  width: 100%;
  word-break: break-word;
}

.panel-home-app-card__button img {
  display: block;
  flex-shrink: 0;
}

.panel-home-app-card__button-text {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  line-height: 1.15;
  text-align: left;
}

.panel-home-app-card__button-text small {
  font-size: 0.7rem;
  font-weight: 400;
  letter-spacing: 0.02em;
  opacity: 0.85;
}

.panel-home-app-card__button-text strong {
  font-size: 1.05rem;
  font-weight: 700;
}

.panel-home-download-modal {
  align-items: stretch;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  text-align: left;
  width: 100%;
}

.panel-home-download-modal h3 {
  font-size: 1.6rem;
  text-align: left;
}

.panel-home-download-modal-platform {
  border: 1px solid var(--gradient2, #60c7ba);
  border-radius: 0.75rem;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.08);
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  padding: 1.25rem;
}

.panel-home-download-modal-platform__header {
  align-items: center;
  display: flex;
  flex-direction: row;
  gap: 0.5rem;
}

.panel-home-download-modal-platform__header h4 {
  font: 700 1.25rem "Customfont";
  margin: 0;
}

.panel-home-download-modal-platform__hint {
  color: var(--landing-text-muted, #6b7280);
  font: 400 1rem "Customfont";
  line-height: 1.6;
  margin: 0;
}

.panel-home-download-modal-platform__buttons {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 0.75rem;
  justify-content: center;
}

.panel-home-download-modal-platform__zip-link {
  align-self: center;
  background: none;
  border: 0;
  color: var(--blue, #3b82f6);
  cursor: pointer;
  font: 400 0.95rem "Customfont";
  margin-top: -0.25rem;
  padding: 0;
  text-align: center;
  text-decoration: underline;
}

.panel-home-download-modal-platform__zip-link:hover {
  text-decoration: none;
}

.panel-home-download-modal-stores {
  align-items: center;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: center;
}

.modal-capture-download .content-modal,
.modal-printer-download .content-modal {
  border-radius: 16px;
}

@media only screen and (max-width: 768px) {
  .modal-capture-download .content-modal,
  .modal-printer-download .content-modal {
    margin: 1rem auto;
    max-height: calc(100dvh - 2rem);
    overflow-y: auto;
  }
  .panel-home-download-modal h3 {
    font-size: 1.35rem;
  }
  .panel-home-download-modal-platform {
    padding: 1rem;
  }
  .panel-home-download-modal-platform__buttons .panel-home-app-card__store-link {
    width: 100%;
  }
  .panel-home-download-modal-platform__buttons .panel-home-app-card__button {
    min-width: 0;
  }
  .modal-capture-download .panel-home-download-modal h3,
  .modal-capture-download .panel-home-download-modal-platform:last-child {
    order: -1;
  }
}
.dropdown {
  position: relative;
  display: inline-block;
}

.dropdown-content {
  display: none;
  position: absolute;
  background-color: #f9f9f9;
  min-width: 160px;
  box-shadow: 0px 8px 16px rgba(0, 0, 0, 0.2);
  z-index: 100;
  right: 0;
  top: 100%;
}

.dropdown-content > a,
.dropdown-content > .button-primary {
  background-color: unset;
  border-radius: 0;
  color: var(--black, #121212);
  display: block;
  font: 500 1rem "Customfont";
  padding: 12px 16px;
  text-align: left;
  text-decoration: none;
  width: 100%;
  transition: 0;
}

.dropdown-content > a:not(.none) ~ a:not(.none) {
  border-top: 1px solid var(--gray-medium, #dee2e6);
}

.dropdown-content > a:not(.none) ~ label:not(.none) {
  border-top: 1px solid var(--gray-medium, #dee2e6);
}

.dropdown-content > a:not(.none) ~ button:not(.none) {
  border-top: 1px solid var(--gray-medium, #dee2e6);
}

.dropdown-content > label:not(.none) ~ a:not(.none) {
  border-top: 1px solid var(--gray-medium, #dee2e6);
}

.dropdown-content > label:not(.none) ~ label:not(.none) {
  border-top: 1px solid var(--gray-medium, #dee2e6);
}

.dropdown-content > label:not(.none) ~ button:not(.none) {
  border-top: 1px solid var(--gray-medium, #dee2e6);
}

.dropdown-content > button:not(.none) ~ a:not(.none) {
  border-top: 1px solid var(--gray-medium, #dee2e6);
}

.dropdown-content > button:not(.none) ~ label:not(.none) {
  border-top: 1px solid var(--gray-medium, #dee2e6);
}

.dropdown-content > button:not(.none) ~ button:not(.none) {
  border-top: 1px solid var(--gray-medium, #dee2e6);
}

.dropdown-content > a:hover,
.dropdown-content > .button-primary:hover {
  background-color: #f1f1f1;
  opacity: 1;
}

/* Show the dropdown content when the checkbox is checked */
.dropdown input[type=checkbox]:checked + .dropdown-content {
  display: block;
}

time {
  font: 700 0.8rem "Customfont";
}

@media only screen and (max-width: 678px) {
  .panel-home-body .panel-home-main {
    padding: 0 1rem 1rem;
  }
}
.panel-home-body {
  background-color: var(--gray-light, #f5f6f7);
}

.panel-home-container {
  margin: 0 auto;
  max-width: 1180px;
  padding-top: 1.5rem;
  padding-bottom: 4rem;
}
@media only screen and (max-width: 950px) {
  .panel-home-container {
    padding-bottom: 6rem;
  }
}

.panel-home-lang-row {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 1rem;
}

.panel-home-section {
  margin-bottom: 34px;
}

.panel-home-section__header {
  align-items: center;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  margin-bottom: 13px;
}
.panel-home-section__header .panel-home-section__title {
  margin-bottom: 0;
}

.panel-home-section__link {
  align-items: center;
  color: var(--panel-home-link, #1565c0);
  display: inline-flex;
  font-size: 13px;
  font-weight: 700;
  min-height: 44px;
  padding: 8px 4px;
  text-decoration: none;
}

.panel-home-section__title {
  align-items: center;
  color: var(--black, #121212);
  display: flex;
  flex-direction: row;
  font-size: 19px;
  font-weight: 700;
  gap: 9px;
  margin-bottom: 13px;
}
.panel-home-section__title svg {
  color: var(--blue, #3b82f6);
  flex: none;
}

.panel-home-next-event {
  align-items: center;
  background-color: var(--white, #ffffff);
  border: 1px solid var(--panel-home-border, #e5e9ef);
  border-radius: 12px;
  box-shadow: 0 1px 3px rgba(18, 18, 18, 0.05);
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 30px;
  padding: 10px;
}

.panel-home-next-event--empty {
  gap: 16px;
  padding: 18px 20px;
}

.panel-home-next-event__link {
  align-items: center;
  background-color: var(--panel-home-row-bg, #f7f9fc);
  border-radius: 10px;
  color: var(--black, #121212);
  display: flex;
  flex: 1;
  flex-direction: row;
  gap: 13px;
  min-width: 220px;
  padding: 8px 10px;
  text-decoration: none;
  transition: background-color 0.2s ease;
}
.panel-home-next-event__link:hover {
  background-color: var(--panel-home-row-hover, #eef3fb);
}
.panel-home-next-event__link > img {
  flex: none;
}

.panel-home-next-event__date-chip {
  align-items: center;
  background-color: var(--blue-light, #e5edfa);
  border-radius: 12px;
  color: var(--panel-home-link, #1565c0);
  display: flex;
  flex: none;
  flex-direction: column;
  height: 48px;
  justify-content: center;
  line-height: 1;
  width: 48px;
}
.panel-home-next-event__date-chip b {
  font-size: 17px;
  font-weight: 800;
}
.panel-home-next-event__date-chip span {
  font-size: 10px;
  font-weight: 700;
  margin-top: 2px;
  text-transform: uppercase;
}

.panel-home-next-event__info {
  display: flex;
  flex: 1;
  flex-direction: column;
  min-width: 0;
}
.panel-home-next-event__info small {
  color: var(--panel-home-text-muted, #6b6b6b);
  font-size: 12px;
}
.panel-home-next-event__info b {
  font-size: 15px;
  font-weight: 700;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.panel-home-next-event__see-all {
  align-items: center;
  color: var(--panel-home-link, #1565c0);
  display: inline-flex;
  font-size: 13px;
  font-weight: 700;
  min-height: 44px;
  padding: 0 8px;
  text-decoration: none;
}

.panel-home-next-event__empty-text {
  flex: 1;
  min-width: 200px;
}
.panel-home-next-event__empty-text h3 {
  font-size: 16px;
  font-weight: 700;
}
.panel-home-next-event__empty-text p, .panel-home-next-event__empty-text .number-of-devices-label {
  color: var(--panel-home-text-soft, #454b57);
  font-size: 13.5px;
  margin-top: 2px;
}

.panel-home-create-event-button {
  border-radius: 8px;
  font-size: 14px;
  min-height: 48px;
  padding: 12px 18px;
}

.panel-home-growth__hero {
  align-items: stretch;
  background: linear-gradient(120deg, var(--panel-home-hero-start, #2059c2), var(--panel-home-hero-end, #2f9a8c));
  border-radius: 12px;
  box-shadow: 0 4px 16px rgba(18, 18, 18, 0.12);
  color: var(--white, #ffffff);
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 24px;
  overflow: hidden;
  padding: 26px;
}

.panel-home-growth__hero-content {
  display: flex;
  flex: 1;
  flex-direction: column;
  justify-content: center;
  min-width: 250px;
}
.panel-home-growth__hero-content h3 {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.15;
}
.panel-home-growth__hero-content > p, .panel-home-growth__hero-content > .number-of-devices-label {
  color: rgba(255, 255, 255, 0.92);
  font-size: 14.5px;
  line-height: 1.5;
  margin-top: 8px;
  max-width: 460px;
}

.panel-home-growth__hero-badge {
  align-self: flex-start;
  background-color: rgba(255, 255, 255, 0.22);
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.05em;
  margin-bottom: 9px;
  padding: 3px 10px;
  text-transform: uppercase;
}

.panel-home-growth__downloads-label {
  color: rgba(255, 255, 255, 0.85);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.06em;
  margin-top: 18px;
  text-transform: uppercase;
}

.panel-home-growth__downloads {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 9px;
}

.panel-home-growth__download-button {
  align-items: center;
  background-color: rgba(255, 255, 255, 0.14);
  border: 1px solid rgba(255, 255, 255, 0.55);
  border-radius: 8px;
  color: var(--white, #ffffff);
  cursor: pointer;
  display: inline-flex;
  font-size: 14px;
  font-weight: 700;
  gap: 8px;
  min-height: 48px;
  padding: 12px 17px;
}

.panel-home-growth__download-button--main {
  background-color: var(--white, #ffffff);
  border: none;
  color: var(--panel-home-link, #1565c0);
}

.panel-home-growth__hero-thumbs {
  align-items: center;
  display: flex;
  flex: none;
  flex-direction: row;
  gap: 10px;
}
.panel-home-growth__hero-thumbs img {
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 12px;
  height: 106px;
  object-fit: cover;
  width: 80px;
}

.panel-home-growth__ideas-header {
  align-items: center;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  margin: 22px 0 12px;
}
.panel-home-growth__ideas-header h3 {
  color: var(--panel-home-text-muted, #6b6b6b);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.panel-home-growth__ideas-header button {
  align-items: center;
  background: none;
  color: var(--panel-home-link, #1565c0);
  cursor: pointer;
  display: inline-flex;
  font-size: 13px;
  font-weight: 700;
  min-height: 44px;
  padding: 8px 4px;
}

.panel-home-growth__ideas {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.panel-home-growth__idea {
  align-items: flex-start;
  background-color: var(--white, #ffffff);
  border: 1px solid var(--panel-home-border, #e5e9ef);
  border-radius: 12px;
  box-shadow: 0 1px 3px rgba(18, 18, 18, 0.05);
  color: var(--black, #121212);
  display: flex;
  flex-direction: row;
  gap: 12px;
  padding: 15px;
  text-decoration: none;
  transition: background-color 0.2s ease;
}
.panel-home-growth__idea:hover {
  background-color: var(--panel-home-row-bg, #f7f9fc);
}

.panel-home-growth__idea-chevron {
  align-self: center;
  flex: none;
}

.panel-home-growth__idea-icon {
  align-items: center;
  background-color: var(--blue-light, #e5edfa);
  border-radius: 11px;
  color: var(--blue, #3b82f6);
  display: flex;
  flex: none;
  height: 40px;
  justify-content: center;
  width: 40px;
}

.panel-home-growth__idea-text {
  display: flex;
  flex: 1;
  flex-direction: column;
  min-width: 0;
}
.panel-home-growth__idea-text b {
  font-size: 14.5px;
  font-weight: 700;
  line-height: 1.25;
}
.panel-home-growth__idea-text span {
  color: var(--panel-home-text-soft, #454b57);
  font-size: 12.5px;
  line-height: 1.4;
  margin-top: 3px;
}

.panel-home-features__toggle {
  background: none;
  border: none;
  cursor: pointer;
  font-family: inherit;
}

.panel-home-features__grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(5, 1fr);
}
@media only screen and (max-width: 900px) {
  .panel-home-features__grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media only screen and (max-width: 500px) {
  .panel-home-features__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

.panel-home-features__grid--collapsed {
  max-height: 14rem;
  overflow: hidden;
  -webkit-mask-image: linear-gradient(180deg, #000 72%, transparent);
  mask-image: linear-gradient(180deg, #000 72%, transparent);
}

.panel-home-feature-tile {
  background-color: var(--white, #ffffff);
  border: 1px solid var(--panel-home-border, #e5e9ef);
  border-radius: 12px;
  box-shadow: 0 1px 3px rgba(18, 18, 18, 0.05);
  cursor: pointer;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  padding: 0;
  position: relative;
  text-align: left;
}

.panel-home-feature-tile__media {
  background-color: var(--panel-home-media-placeholder, #e9edf2);
  display: block;
  height: 104px;
  overflow: hidden;
  position: relative;
}
.panel-home-feature-tile__media img {
  display: block;
  height: 100%;
  object-fit: cover;
  transition: filter 0.3s ease;
  width: 100%;
}
.panel-home-feature-tile__media::before {
  background: rgba(43, 107, 214, 0.2);
  content: "";
  inset: 0;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  transition: opacity 0.3s ease;
  z-index: 1;
}
.panel-home-feature-tile__media::after {
  background: linear-gradient(180deg, rgba(18, 18, 18, 0.35), rgba(18, 18, 18, 0) 45%);
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
  z-index: 1;
}

@media (hover: hover) {
  .panel-home-feature-tile:not(:hover) .panel-home-feature-tile__media img {
    filter: grayscale(0.45);
  }
  .panel-home-feature-tile:not(:hover) .panel-home-feature-tile__media::before {
    opacity: 1;
  }
}
.panel-home-feature-tile__badge {
  background-color: var(--panel-home-badge-red, #dc2626);
  border-radius: 999px;
  color: var(--white, #ffffff);
  font-size: 10px;
  font-weight: 800;
  padding: 3px 8px;
  position: absolute;
  right: 9px;
  text-transform: uppercase;
  top: 9px;
  z-index: 2;
}

.panel-home-feature-tile__label {
  align-items: center;
  display: flex;
  flex-direction: row;
  gap: 8px;
  justify-content: space-between;
  padding: 11px 12px;
}
.panel-home-feature-tile__label b {
  font-size: 14.5px;
  font-weight: 700;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.panel-home-feature-tile__label img {
  flex: none;
}

.panel-home-apps__grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
}
@media only screen and (max-width: 400px) {
  .panel-home-apps__grid {
    grid-template-columns: 1fr;
  }
}

.panel-home-apps__card {
  background-color: var(--white, #ffffff);
  border: 1px solid var(--panel-home-border, #e5e9ef);
  border-radius: 12px;
  box-shadow: 0 1px 3px rgba(18, 18, 18, 0.05);
  display: flex;
  flex-direction: column;
  padding: 20px;
}
.panel-home-apps__card > p, .panel-home-apps__card > .number-of-devices-label {
  color: var(--panel-home-text-soft, #454b57);
  font-size: 13.5px;
  line-height: 1.45;
  margin: 0 0 15px;
}

.panel-home-apps__card-header {
  align-items: center;
  display: flex;
  flex-direction: row;
  gap: 12px;
  margin-bottom: 8px;
}
.panel-home-apps__card-header h3 {
  font-size: 17px;
  font-weight: 700;
}

.panel-home-apps__card-icon {
  align-items: center;
  background-color: var(--blue-light, #e5edfa);
  border-radius: 12px;
  display: flex;
  flex: none;
  height: 46px;
  justify-content: center;
  width: 46px;
}

.panel-home-apps__card-button {
  align-items: center;
  background-color: var(--panel-home-button-blue-bg, #e3edfd);
  border: 1px solid var(--panel-home-button-blue-border, #c3daf8);
  border-radius: 8px;
  color: var(--panel-home-link, #1565c0);
  cursor: pointer;
  display: flex;
  flex-direction: row;
  font-size: 14px;
  font-weight: 700;
  gap: 9px;
  justify-content: center;
  margin-top: auto;
  min-height: 48px;
  padding: 12px 18px;
  width: 100%;
}

.panel-home-whatsapp-float {
  align-items: center;
  background-color: var(--panel-home-whatsapp-green, #128c4a);
  border-radius: 999px;
  bottom: 24px;
  box-shadow: 0 8px 24px rgba(18, 140, 74, 0.4);
  color: var(--white, #ffffff);
  cursor: pointer;
  display: flex;
  flex-direction: row;
  font-size: 14px;
  font-weight: 700;
  gap: 10px;
  padding: 12px 16px;
  position: fixed;
  right: 20px;
  z-index: 50;
}
@media only screen and (max-width: 950px) {
  .panel-home-whatsapp-float {
    bottom: calc(80px + env(safe-area-inset-bottom));
  }
}

.panel-home-help__search {
  align-items: center;
  background-color: var(--white, #ffffff);
  border: 2px solid transparent;
  border-radius: 3rem;
  box-shadow: 8px 12px 24px 0px rgba(18, 18, 18, 0.08);
  color: var(--panel-home-text-muted, #6b6b6b);
  display: flex;
  flex-direction: row;
  gap: 1rem;
  margin-bottom: 14px;
  padding: 1rem;
  text-decoration: none;
  transition: border-color 0.5s ease-in-out;
}
.panel-home-help__search:hover {
  border-color: var(--black, #121212);
}
.panel-home-help__search span {
  font-size: 1.1rem;
  line-height: 1.4;
}

.panel-home-help__chips {
  align-items: center;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 10px;
}

.panel-home-help__chip {
  align-items: center;
  background-color: var(--white, #ffffff);
  border: 1px solid var(--panel-home-border, #e5e9ef);
  border-radius: 12px;
  color: var(--black, #121212);
  display: inline-flex;
  flex-direction: row;
  font-size: 14px;
  font-weight: 600;
  gap: 8px;
  min-height: 46px;
  padding: 10px 15px;
  text-decoration: none;
}
.panel-home-help__chip svg {
  color: var(--blue, #3b82f6);
  flex: none;
}

.panel-home-help__chip--materials {
  background-color: var(--blue-light, #e5edfa);
  border-color: var(--panel-home-button-blue-border, #c3daf8);
  color: var(--panel-home-link, #1565c0);
  font-weight: 700;
}
.panel-home-help__chip--materials svg {
  color: var(--panel-home-link, #1565c0);
}

.modal-panel-home-feature .content-modal {
  max-height: calc(100dvh - 4rem);
  overflow-y: auto;
}

.modal-panel-home-feature {
  padding: 1rem;
}
.modal-panel-home-feature.open {
  display: flex;
}

.content-modal.panel-home-feature-modal {
  border-radius: 16px;
  margin: auto;
  max-width: 460px;
  overflow: hidden;
  padding: 0;
  text-align: left;
  top: unset;
  transform: none;
}

.panel-home-feature-modal__hero {
  background-color: var(--panel-home-media-placeholder, #e9edf2);
  height: 180px;
  overflow: hidden;
  position: relative;
}

.panel-home-feature-modal__img {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.panel-home-feature-modal__close {
  align-items: center;
  background: rgba(255, 255, 255, 0.92);
  border: none;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  height: 36px;
  justify-content: center;
  position: absolute;
  right: 12px;
  top: 12px;
  width: 36px;
}

.panel-home-feature-modal__body {
  padding: 18px 20px 22px;
}

.panel-home-feature-modal__title-row {
  align-items: center;
  display: flex;
  flex-direction: row;
  gap: 8px;
  margin-bottom: 6px;
}
.panel-home-feature-modal__title-row h3 {
  font-size: 21px;
  font-weight: 700;
}

.panel-home-feature-modal__badge {
  background-color: var(--panel-home-badge-red, #dc2626);
  border-radius: 999px;
  color: var(--white, #ffffff);
  font-size: 10px;
  font-weight: 800;
  padding: 3px 8px;
  text-transform: uppercase;
}

.panel-home-feature-modal__desc {
  color: var(--panel-home-text-soft, #454b57);
  font-size: 14.5px;
  line-height: 1.6;
  margin: 0;
}

.panel-home-feature-modal__actions {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 18px;
}

.panel-home-feature-modal__doc-actions {
  display: flex;
  flex-direction: row;
  gap: 8px;
}

.panel-home-feature-modal__button {
  align-items: center;
  border-radius: 8px;
  cursor: pointer;
  display: inline-flex;
  font-size: 14px;
  font-weight: 700;
  gap: 8px;
  justify-content: center;
  min-height: 48px;
  padding: 12px;
}

.panel-home-feature-modal__button--video {
  background-color: var(--black, #121212);
  border: none;
  color: var(--white, #ffffff);
  width: 100%;
}

.panel-home-feature-modal__button--doc {
  background-color: var(--landing-blue-tint, #eaf2fe);
  border: 1px solid var(--panel-home-button-blue-border, #c3daf8);
  color: var(--panel-home-link, #1565c0);
  flex: 1;
  font-size: 13.5px;
}

@media (hover: hover) {
  .panel-home-section__link,
  .panel-home-next-event__see-all,
  .panel-home-growth__ideas-header button {
    transition: opacity 0.2s ease;
  }
  .panel-home-section__link:hover,
  .panel-home-next-event__see-all:hover,
  .panel-home-growth__ideas-header button:hover {
    opacity: 0.6;
  }
  .panel-home-apps__card-button,
  .panel-home-growth__download-button,
  .panel-home-feature-modal__button {
    transition: filter 0.2s ease, opacity 0.2s ease;
  }
  .panel-home-apps__card-button:hover,
  .panel-home-growth__download-button:hover,
  .panel-home-feature-modal__button:hover {
    filter: brightness(0.95);
  }
  .panel-home-feature-modal__button--video:hover {
    filter: none;
    opacity: 0.82;
  }
  .panel-home-whatsapp-float {
    transition: filter 0.2s ease, box-shadow 0.2s ease;
  }
  .panel-home-whatsapp-float:hover {
    filter: brightness(0.94);
    box-shadow: 0 10px 28px rgba(18, 140, 74, 0.5);
  }
  .panel-home-help__chip {
    transition: background-color 0.2s ease, border-color 0.2s ease, filter 0.2s ease;
  }
  .panel-home-help__chip:hover {
    background-color: var(--blue-light, #e5edfa);
    border-color: var(--panel-home-link, #1565c0);
  }
  .panel-home-help__chip--materials:hover {
    filter: brightness(0.96);
  }
  .panel-home-feature-modal__close {
    transition: background 0.2s ease;
  }
  .panel-home-feature-modal__close:hover {
    background: var(--white, #ffffff);
  }
}
.user-password-reset-subtitle {
  text-align: left;
}

.hydro-sites-selector-body {
  margin: 0;
  background: linear-gradient(135deg, #06243d 0%, #0e3a5f 100%);
  color: #fff;
  font-family: "Nunito", sans-serif;
  min-height: 100vh;
}

.hydro-sel-stage {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  padding: 48px 64px;
  box-sizing: border-box;
}

.hydro-sel-header {
  text-align: center;
  margin-bottom: 32px;
}

.hydro-sel-headline {
  font-size: 44px;
  font-weight: 800;
  margin: 0 0 12px;
  letter-spacing: -0.5px;
}

.hydro-sel-sub {
  font-size: 20px;
  opacity: 0.85;
  margin: 0;
}

.hydro-sel-grid {
  flex: 1;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 32px;
  align-content: center;
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
}

.hydro-sel-card {
  background: rgba(255, 255, 255, 0.06);
  border: 2px solid rgba(255, 255, 255, 0.12);
  border-radius: 24px;
  padding: 0;
  overflow: hidden;
  cursor: pointer;
  transition: transform 0.15s ease-out, border-color 0.15s ease-out, box-shadow 0.15s ease-out;
  color: inherit;
  font: inherit;
  text-align: left;
  display: flex;
  flex-direction: column;
}
.hydro-sel-card:hover, .hydro-sel-card:focus-visible {
  transform: translateY(-4px);
  border-color: #5dadec;
  box-shadow: 0 12px 40px rgba(93, 173, 236, 0.35);
  outline: none;
}
.hydro-sel-card:active {
  transform: translateY(0);
}

.hydro-sel-card-image-wrapper {
  width: 100%;
  aspect-ratio: 4/3;
  background: #06243d;
  overflow: hidden;
}

.hydro-sel-card-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.hydro-sel-card-label {
  padding: 20px 24px;
  font-size: 26px;
  font-weight: 700;
  text-align: center;
}

.hydro-sel-footer {
  text-align: center;
  margin-top: 32px;
  opacity: 0.6;
  font-size: 14px;
  letter-spacing: 2px;
  text-transform: uppercase;
}

@media only screen and (max-width: 1024px) {
  .hydro-sel-stage {
    padding: 32px 24px;
  }
  .hydro-sel-headline {
    font-size: 32px;
  }
  .hydro-sel-sub {
    font-size: 18px;
  }
  .hydro-sel-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    max-width: 720px;
  }
  .hydro-sel-card-label {
    font-size: 20px;
    padding: 14px 16px;
  }
  .hydro-sel-card-image-wrapper {
    aspect-ratio: 16/10;
  }
}
@media only screen and (max-width: 600px) {
  .hydro-sel-stage {
    padding: 16px 12px;
  }
  .hydro-sel-header {
    margin-bottom: 16px;
  }
  .hydro-sel-headline {
    font-size: 22px;
  }
  .hydro-sel-sub {
    font-size: 14px;
  }
  .hydro-sel-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }
  .hydro-sel-card {
    border-radius: 16px;
  }
  .hydro-sel-card-image-wrapper {
    aspect-ratio: 4/3;
  }
  .hydro-sel-card-label {
    font-size: 14px;
    padding: 10px 8px;
    line-height: 1.2;
  }
  .hydro-sel-footer {
    font-size: 11px;
    margin-top: 16px;
  }
  .hydro-sel-card:hover {
    transform: none;
    box-shadow: none;
    border-color: rgba(255, 255, 255, 0.12);
  }
  .hydro-sel-card:active {
    transform: scale(0.97);
    border-color: #5dadec;
  }
}
@media only screen and (max-width: 900px) and (orientation: landscape) {
  .hydro-sel-stage {
    padding: 12px 16px;
  }
  .hydro-sel-header {
    margin-bottom: 12px;
  }
  .hydro-sel-headline {
    font-size: 20px;
    margin-bottom: 4px;
  }
  .hydro-sel-sub {
    font-size: 13px;
  }
  .hydro-sel-grid {
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
    max-width: 100%;
  }
  .hydro-sel-card-image-wrapper {
    aspect-ratio: 4/3;
  }
  .hydro-sel-card-label {
    font-size: 13px;
    padding: 8px 6px;
  }
  .hydro-sel-footer {
    display: none;
  }
}
.panel-question-create-article {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  position: relative;
}

.panel-question-create-section {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin: 0 auto;
  max-width: 600px;
  width: 100%;
}

.panel-question-create-delete-button {
  position: absolute;
  right: 0;
  top: 0;
}

.panel-question-create-title-container {
  margin-bottom: 2rem;
}

.panel-question-create-title {
  text-align: center;
}

.panel-question-create-form {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.panel-question-create-type-section {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.panel-question-create-type-section h3 {
  margin: 0;
}

/* The written-answer subtype row (Texto / Nome / Telefone / E-mail / Número / Data) appears under the
   top-level types only when "Resposta escrita" is chosen; the header carries the keyboard info tooltip. */
.panel-question-create-subtype-row {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.panel-question-create-subtype-header {
  align-items: center;
  display: flex;
  gap: 0.5rem;
}
.panel-question-create-subtype-header h4 {
  font-size: 1rem;
  margin: 0;
}
.panel-question-create-subtype-header .info-modal-button {
  margin-left: 0;
}

.panel-question-create-subtype-row .event-type-radio-inputs-container {
  gap: 0.4rem;
}
.panel-question-create-subtype-row .event-type-radio-inputs-container label {
  font-size: 0.9rem;
  padding: 0.4rem 0.7rem;
  gap: 0.35rem;
}
.panel-question-create-subtype-row .event-type-radio-inputs-container img {
  width: 18px;
  height: 18px;
}
@media only screen and (min-width: 769px) {
  .panel-question-create-subtype-row .event-type-radio-inputs-container {
    flex-wrap: nowrap;
  }
  .panel-question-create-subtype-row .event-type-radio-inputs-container > div {
    flex: 1 1 0;
    min-width: 0;
  }
  .panel-question-create-subtype-row .event-type-radio-inputs-container label {
    width: 100%;
    justify-content: center;
  }
}

.panel-question-create-selection-limits {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin-top: 1rem;
}

.panel-question-create-selection-limit-fields {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.panel-question-create-selection-limit-inputs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}
.panel-question-create-selection-limit-inputs .input-floating-container {
  flex: 1 1 8rem;
  min-width: 0;
}

input[name=question_type_top]:checked + label,
input[name=question_type_subtype]:checked + label,
input[name=question_answer_display_mode]:checked + label {
  background-color: var(--black, #121212) !important;
  color: var(--white, #ffffff) !important;
}
input[name=question_type_top]:checked + label img,
input[name=question_type_subtype]:checked + label img,
input[name=question_answer_display_mode]:checked + label img {
  filter: contrast(0) brightness(100);
}

.panel-question-create-details > * + * {
  margin-top: 1rem;
}

.panel-question-create-alternatives {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.panel-question-create-alternatives-list {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

/* Per-option input visibility follows the chosen answer display mode (set as a modifier class by
   panelQuestionCreateApplyAnswerDisplayMode). The text field is ALWAYS shown — it's the answer label in text
   modes and the required legenda in image-only — so image-only no longer hides it. Text-only hides the image
   controls with visibility:hidden (NOT display:none) so the slot is reserved and the remove (×) button never
   shifts position when toggling "como as respostas aparecem". */
.panel-question-create-alternatives--text .panel-question-create-alternative-image-control {
  visibility: hidden;
  pointer-events: none;
}

.panel-question-create-answer-display-mode {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.panel-question-create-add-alternative-button.button-secondary {
  width: 100%;
}

.panel-question-create-alternative {
  margin: 0;
}
.panel-question-create-alternative.dragging {
  opacity: 0.4;
}
.panel-question-create-alternative.over .panel-question-create-alternative-input-label {
  outline: 2px dashed var(--gray-medium, #dee2e6);
  outline-offset: 2px;
}

.panel-question-create-drag-handle {
  cursor: grab;
  flex-shrink: 0;
  opacity: 0.5;
}

.panel-question-create-alternative-input-label {
  align-items: center;
  background-color: var(--white, #ffffff);
  border-radius: 0.5rem;
  box-shadow: 0 1px 12px rgba(204, 204, 204, 0.25);
  display: flex;
  gap: 0.5rem;
  padding: 0.5rem 0.75rem;
}
.panel-question-create-alternative-input-label input[type=text] {
  background: transparent;
  border: none;
  flex: 1;
  font-size: 0.95rem;
  outline: none;
}
.panel-question-create-alternative-input-label:focus-within {
  outline: 2px solid var(--blue, #3b82f6);
  outline-offset: 2px;
}

.panel-question-create-alternative-type-icon {
  flex-shrink: 0;
}
.panel-question-create-alternative-type-icon img {
  display: block;
}

.panel-question-create-icon-button {
  align-items: center;
  background: none;
  border: none;
  cursor: pointer;
  display: inline-flex;
  flex-shrink: 0;
  justify-content: center;
  padding: 4px;
}

.panel-question-create-alternative-thumb {
  border-radius: 4px;
  object-fit: cover;
}

.panel-question-create-alternative-image-fullscreen-container {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.panel-question-create-alternative-image-fullscreen-img {
  border-radius: 8px;
  max-height: 60vh;
  max-width: 100%;
}

.panel-question-create-alternative-image-fullscreen-button-container {
  display: flex;
  gap: 12px;
}

.panel-question-create-hint {
  font-size: 0.85rem;
  color: var(--gray-dark, #434343);
  margin: 0;
}

.panel-question-create-inline-error {
  font-size: 0.9rem;
  font-weight: 500;
  color: var(--red, #fd5249);
  margin: 0;
}

.manage-virtual-scenarios-list-container,
.archived-scenarios-list-container {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.manage-virtual-scenarios-list-container h2,
.archived-scenarios-list-container h2 {
  font: 400 1.5rem "Customfont";
}

.archived-scenarios-list-container {
  margin-top: 2rem;
}

.checkout-header {
  display: grid;
  gap: 1rem;
  grid-template-columns: 1fr 3fr 1fr;
  justify-content: center;
  padding: 1rem 1rem 3rem;
  position: relative;
  text-align: center;
}

.checkout-header-logo {
  height: auto;
  max-width: 189px;
  width: 100%;
}

.checkout-main {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding: 1rem;
}
.checkout-main h1 {
  font-weight: 500;
  line-height: 116%;
  letter-spacing: 0;
  text-align: center;
  font-size: 3rem;
}

.checkout-progress {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 2rem;
  line-height: 1;
  list-style: none;
  font: 500 1.1rem "Customfont";
}
.checkout-progress li {
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 140%;
  letter-spacing: 0;
  text-align: center;
}
.checkout-progress li.active {
  color: var(--blue, #3b82f6);
}
.checkout-progress li section {
  align-items: center;
  display: flex;
  flex-direction: row;
  gap: 2rem;
}
.checkout-progress li div {
  align-items: center;
  display: flex;
  flex-direction: row;
  gap: 0.5rem;
}
@media only screen and (max-width: 500px) {
  .checkout-progress {
    gap: 1rem;
  }
  .checkout-progress li section {
    gap: 1rem;
  }
}

.checkout-header .return-link {
  margin-right: 100%;
  top: 50%;
  transform: translateY(-50%);
}
@media only screen and (min-width: 950px) {
  .checkout-header .return-link {
    left: 1rem;
    margin-right: unset;
    position: absolute;
    top: 100%;
    transform: unset;
  }
}

.change-plan__subscription-container {
  align-items: stretch;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: center;
  margin: 0 1rem;
  width: 100%;
}
.change-plan__subscription-container .change-plan__subscription__item {
  background-color: var(--white, #ffffff);
  border-radius: 0.5rem;
  box-shadow: 0.5rem 0.75rem 1.5rem 0 rgba(18, 18, 18, 0.078);
  color: var(--black, #121212);
  padding: 3rem 2rem 2.5rem;
  width: min(100%, 400px);
}
.change-plan__subscription-container h2 {
  font: 400 2rem "Customfont";
}
.change-plan__subscription-container h3 {
  font: 700 1.5rem "Customfont";
}
.change-plan__subscription-container ul {
  display: flex;
  flex-direction: column;
  font: 500 1.2rem "Customfont";
  gap: 0;
  list-style: none;
  margin: 0;
}
.change-plan__subscription-container ul li {
  align-items: center;
  display: flex;
  flex-direction: row;
  gap: 0.5rem;
}
.change-plan__subscription-container .button-primary {
  font: 700 1rem "Customfont";
  line-height: 1.8rem;
  padding: 1rem;
  width: 100%;
}

.change-plan__price-container {
  font: 700 1.5rem "Customfont";
}
.change-plan__price-container .crossed-price {
  text-decoration: line-through;
}

.checkout-main .change-plan__price-container h3 {
  font-weight: 700;
  font-size: 1.5rem;
  line-height: 100%;
  margin-bottom: 0;
}

input[type=radio] {
  display: none;
}

/* Seletor de recorrência: o indicador (&__thumb) desliza por JS sob o segmento ativo. */
.checkout-recurrence-selector {
  position: relative;
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 1fr;
  align-items: stretch;
  width: min(100%, 468px);
  margin: 1.25rem auto 2.25rem;
  padding: 0.375rem;
  background: var(--gray-light, #f5f6f7);
  border: 1px solid var(--gray-medium, #dee2e6);
  border-radius: 999px;
  box-shadow: inset 0 1px 2px rgba(18, 18, 18, 0.05);
}
.checkout-recurrence-selector__thumb {
  position: absolute;
  top: 0.375rem;
  bottom: 0.375rem;
  left: 0;
  width: 0;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--gradient, #3b82f6) 0%, var(--gradient2, #60c7ba) 100%);
  box-shadow: 0 4px 14px rgba(59, 130, 246, 0.38);
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), width 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: 0;
  pointer-events: none;
}
.checkout-recurrence-selector__segment {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.1rem;
  padding: 0.65rem 0.5rem;
  border-radius: 999px;
  cursor: pointer;
  user-select: none;
  font: 500 1.0625rem "Customfont";
  color: var(--black, #121212);
  white-space: nowrap;
  transition: color 0.25s ease;
}
.checkout-recurrence-selector__segment[aria-checked=true] {
  color: var(--white, #ffffff);
}
.checkout-recurrence-selector__segment:focus-visible {
  outline: 2px solid var(--blue, #3b82f6);
  outline-offset: 3px;
}
.checkout-recurrence-selector__seg-sub {
  font: 400 0.75rem "Customfont";
  color: var(--gray-dark, #434343);
  line-height: 1;
  transition: color 0.25s ease;
}
.checkout-recurrence-selector__seg-badge {
  font: 700 0.6875rem "Customfont";
  line-height: 1;
  padding: 0.14rem 0.4rem;
  border-radius: 999px;
  background: var(--blue-light, #e5edfa);
  color: var(--blue, #3b82f6);
  transition: background 0.25s ease, color 0.25s ease;
}
.checkout-recurrence-selector__segment[aria-checked=true] .checkout-recurrence-selector__seg-sub {
  color: rgba(255, 255, 255, 0.88);
}
.checkout-recurrence-selector__segment[aria-checked=true] .checkout-recurrence-selector__seg-badge {
  background: var(--white, #ffffff);
  color: var(--blue, #3b82f6);
}

/* sufixo "/ 24h", "/ mês", "/ ano" no preço do card */
.change-plan__price-container .recurrence {
  color: var(--gray-dark, #434343);
  font-weight: 500;
}

/* nota contextual da Diária (escondida nas demais recorrências via `none`) */
.change-plan__daily-note {
  align-items: center;
  background: var(--blue-light, #e5edfa);
  border-radius: 0.5rem;
  color: var(--blue, #3b82f6);
  display: flex;
  font: 700 0.9rem "Customfont";
  gap: 0.5rem;
  line-height: 1.3;
  padding: 0.6rem 0.75rem;
}

@media only screen and (max-width: 768px) {
  .checkout-recurrence-selector {
    margin: 1rem auto 1.75rem;
  }
  .checkout-recurrence-selector__segment {
    font-size: 1rem;
  }
}
@media only screen and (max-width: 500px) {
  .checkout-recurrence-selector__segment {
    padding: 0.6rem 0.35rem;
    font-size: 0.95rem;
  }
  .checkout-recurrence-selector__seg-sub,
  .checkout-recurrence-selector__seg-badge {
    font-size: 0.65rem;
  }
}
.change-plan__subscription__item {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.different-plan-container {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-top: 2rem;
}

.checkout-main .different-plan-container h3 {
  font: 400 1.5rem "Customfont";
  line-height: 100%;
}

.checkout-hire-plan-button-container {
  padding: 1rem 1.3125rem 0;
  margin-top: auto;
}
.checkout-hire-plan-button-container .button-primary {
  border-radius: 0.375rem;
}

.button-current-plan {
  background-color: var(--gray-medium, #dee2e6);
  color: var(--black, #121212);
}

.checkout-payment-history,
.checkout-ended-subscriptions,
.panel-my-signature-plan-info-section-table {
  background-color: var(--white, #ffffff);
  border-radius: 0.5rem;
  margin-top: 2rem;
  padding: 2rem 4rem;
  width: min(750px, 100%);
}
.checkout-payment-history thead,
.checkout-ended-subscriptions thead,
.panel-my-signature-plan-info-section-table thead {
  clip: rect(1px 1px 1px 1px);
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  position: absolute !important;
  width: 1px;
}
.checkout-payment-history table,
.checkout-ended-subscriptions table,
.panel-my-signature-plan-info-section-table table {
  border-collapse: collapse;
  font: 500 1.1rem "Customfont";
  margin-top: 1rem;
  width: 100%;
}
.checkout-payment-history table tr + tr,
.checkout-ended-subscriptions table tr + tr,
.panel-my-signature-plan-info-section-table table tr + tr {
  border-top: 1px solid var(--gray-medium, #dee2e6);
}
.checkout-payment-history td,
.checkout-ended-subscriptions td,
.panel-my-signature-plan-info-section-table td {
  padding: 0.5rem;
}
.checkout-payment-history td:last-of-type,
.checkout-ended-subscriptions td:last-of-type,
.panel-my-signature-plan-info-section-table td:last-of-type {
  text-align: end;
}

.table-payment-status {
  background-color: var(--gray-medium, #dee2e6);
  border-radius: 0.25rem;
  font: 700 0.9rem "Customfont";
  padding: 0.5rem;
  white-space: nowrap;
}
.table-payment-status.waiting-payment {
  color: var(--blue, #3b82f6);
}
.table-payment-status.paid {
  color: #1ABC9C;
}
.table-payment-status.pending {
  color: orange;
}
.table-payment-status.error {
  color: #FD5249;
}
.table-payment-status.refunded {
  color: #8a2be2;
}

.countdown-controls-container {
  display: flex;
  flex-direction: column;
  font-weight: 500;
  font-size: 1.125rem;
  gap: 0.5rem;
  letter-spacing: 0;
  line-height: 140%;
  margin-top: 0.5rem;
  text-align: center;
}

.countdown-controls--change-plan {
  align-items: stretch;
  justify-content: center;
  margin-top: 0;
}
.countdown-controls--change-plan input {
  border-radius: 0.5rem;
  border-width: 0.0625rem;
  border: 0.0625rem solid var(--gray-medium, #dee2e6);
  font-size: 1.125rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 140%;
  padding-top: 1rem;
  padding-right: 1.75rem;
  padding-bottom: 1rem;
  padding-left: 1.75rem;
  margin: 0;
  max-width: 8ch;
}
.countdown-controls--change-plan button {
  background: none;
  border: none;
  box-shadow: none;
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 140%;
  letter-spacing: 0;
}

.checkout-payment-history,
.checkout-ended-subscriptions {
  padding: 1.5rem 3.625rem;
}

.face-swap-reference-image-container {
  align-items: center;
  display: flex;
  flex-direction: row;
  justify-content: center;
}

#face_swap_custom_delivery_fields {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-top: 1rem;
}
#face_swap_custom_delivery_fields .no-ai-effect-container {
  margin-top: 0;
}

.face-swap-thumb-preview {
  width: 20%;
  height: 20%;
}

.backoffice-menu-header__list-server-container {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding: 1rem;
}

.backoffice-container__title-container {
  align-items: center;
  display: flex;
  flex-direction: row;
  gap: 0.25rem;
  padding: 1rem;
}

.backoffice-menu-header-list {
  list-style: none;
  display: flex;
  flex-direction: row;
  align-items: stretch;
  gap: 0.5rem;
}
.backoffice-menu-header-list a,
.backoffice-menu-header-list button,
.backoffice-menu-header-list label {
  padding: 0.75rem 1rem;
  box-shadow: 0 4px 16px rgba(18, 18, 18, 0.08);
  border-radius: 0.5rem;
  background-color: var(--white, #ffffff);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.02em;
  position: relative;
  color: var(--black, #121212);
  text-decoration: none;
  display: inline-block;
  text-align: center;
  width: 100%;
  transition: box-shadow 0.25s ease, color 0.25s ease, transform 0.2s ease;
}
.backoffice-menu-header-list a img,
.backoffice-menu-header-list button img,
.backoffice-menu-header-list label img {
  transition: filter 0.25s ease;
}
.backoffice-menu-header-list li {
  width: fit-content;
}
.backoffice-menu-header-list li a,
.backoffice-menu-header-list li button,
.backoffice-menu-header-list li label {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
  height: 100%;
}
.backoffice-menu-header-list li.active a::after {
  content: "";
  width: 100%;
  height: 3px;
  background-color: var(--blue, #3b82f6);
  position: absolute;
  bottom: 0;
  left: 0;
  border-bottom-left-radius: 0.5rem;
  border-bottom-right-radius: 0.5rem;
}
.backoffice-menu-header-list li.active a, .backoffice-menu-header-list li.active button, .backoffice-menu-header-list li.active label, .backoffice-menu-header-list li:hover a, .backoffice-menu-header-list li:hover button, .backoffice-menu-header-list li:hover label {
  box-shadow: 0 4px 16px var(--blue-low-opacity, #c9d7f2);
  color: var(--blue, #3b82f6);
  transform: translateY(-1px);
}
.backoffice-menu-header-list li.active img, .backoffice-menu-header-list li:hover img {
  filter: invert(42%) sepia(24%) saturate(2628%) hue-rotate(188deg) brightness(104%) contrast(93%);
}
@media only screen and (max-width: 1400px) {
  .backoffice-menu-header-list {
    width: 100%;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
  }
}
@media only screen and (max-width: 950px) {
  .backoffice-menu-header-list .notifications-list p, .backoffice-menu-header-list .notifications-list .number-of-devices-label {
    display: inline-block;
  }
}

.backoffice-table-wrapper {
  padding: 1rem;
  overflow-x: auto;
  width: 100%;
}

.backoffice-table-wrapper h1 {
  margin-top: 2rem;
}

.explore__table {
  width: 100%;
  border-collapse: separate;
  margin-bottom: 1rem;
  border-radius: 0.5rem;
  border: 2px solid var(--black, #121212);
  border-spacing: 0;
}

.explore__table .button-primary {
  color: var(--white, #ffffff);
  white-space: nowrap;
}

.explore__table th,
.explore__table td {
  border: 1px solid var(--black, #121212);
  padding: 0.75rem 1rem;
  text-align: left;
  vertical-align: middle;
}

.explore__table a {
  color: var(--blue, #3b82f6);
}

.explore__table tr:nth-child(even) {
  background-color: var(--gray-medium, #dee2e6);
}

.explore__table tr:nth-child(odd) {
  background-color: var(--white, #ffffff);
}

.explore__table thead th {
  background-color: var(--blue, #3b82f6);
  color: var(--white, #ffffff);
  font-weight: bold;
}

.explore__table tbody tr {
  transition: background-color 0.3s ease;
}

.explore__table tbody tr:hover {
  background-color: var(--gradient2, #60c7ba);
}

.panel-explore-filters-container {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin: 1rem 1rem 0 1rem;
}

.panel-explore-filters-container .panel-my-events-input-search-container {
  margin-bottom: 0;
}

.backoffice-input-search {
  border-radius: 3rem;
  font-size: 1.1rem;
  padding: 1rem 1rem 1rem 3rem;
  box-shadow: 0.5rem 0.75rem 1.5rem 0 rgba(18, 18, 18, 0.08);
  width: 100%;
  border: 2px solid transparent;
  transition: border-color 0.5s ease-in-out;
}
.backoffice-input-search:not(:placeholder-shown) {
  border-color: var(--black, #121212);
}
.backoffice-input-search:focus {
  border-color: var(--black, #121212);
}

.backoffice-order-last-error-message {
  color: var(--error, #fd5249);
  font-weight: bold;
}

.explore__table .backoffice-money-text {
  color: var(--success, #23a667);
  font-weight: bold;
}

@media only screen and (max-width: 950px) {
  .explore__table th,
  .explore__table td {
    padding: 0.25rem 0.5rem;
  }
}
.panel-nav {
  align-items: center;
  background-color: var(--white, #ffffff);
  border-bottom: 1px solid var(--panel-home-border, #e5e9ef);
  display: flex;
  flex-shrink: 0;
  gap: 1rem;
  padding: 10px 20px;
  position: sticky;
  top: 0;
  z-index: 40;
}

.panel-nav__brand {
  align-items: center;
  display: flex;
  flex: 1;
  gap: 0.85rem;
  min-width: 0;
}

.panel-nav__logo {
  display: inline-flex;
  flex-shrink: 0;
  width: 140px;
}
.panel-nav__logo img {
  height: auto;
  max-width: 100%;
}

.panel-nav__user {
  align-items: center;
  display: flex;
  gap: 0.6rem;
  min-width: 0;
  text-decoration: none;
}

.panel-nav__avatar {
  background-color: var(--panel-home-media-placeholder, #e9edf2);
  border: 1px solid var(--panel-home-border, #e5e9ef);
  border-radius: 50%;
  flex-shrink: 0;
  height: 40px;
  object-fit: cover;
  width: 40px;
}

.panel-nav__identity {
  min-width: 0;
}

.panel-nav__name {
  align-items: center;
  color: var(--black, #121212);
  display: flex;
  font-size: 14px;
  font-weight: 700;
  gap: 0.35rem;
  line-height: 1.2;
  white-space: nowrap;
}

.panel-nav__plans {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin-top: 0.3rem;
}

.panel-nav__plan,
.panel-nav__expiring {
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  padding: 0.24rem 0.55rem;
}

.panel-nav__plan {
  background-color: var(--blue-light, #e5edfa);
  color: var(--blue, #3b82f6);
}

.panel-nav__plan.error {
  background-color: var(--panel-nav-plan-error-bg, #f8e4e4);
  color: var(--red, #fd5249);
}

.panel-nav__expiring {
  background-color: var(--error, #fd5249);
  color: var(--white, #ffffff);
  white-space: nowrap;
}

.panel-nav__list {
  align-items: center;
  display: flex;
  flex-shrink: 0;
  gap: 0.25rem;
  list-style: none;
  margin: 0;
  padding: 0;
  position: relative;
}

.panel-nav__link {
  align-items: center;
  background-color: transparent;
  border: 0;
  border-radius: 999px;
  box-shadow: none;
  color: var(--panel-home-text-soft, #454b57);
  cursor: pointer;
  display: inline-flex;
  font-family: inherit;
  font-size: 14px;
  font-weight: 700;
  gap: 0.5rem;
  line-height: 1;
  padding: 0.5rem 0.85rem;
  position: relative;
  text-decoration: none;
  transition: background-color 0.15s ease, color 0.15s ease;
}
.panel-nav__link:hover {
  background-color: var(--panel-nav-hover, #f1f3f5);
}
.panel-nav__link:focus-visible {
  outline: 2px solid var(--blue, #3b82f6);
  outline-offset: 2px;
}

.panel-nav__item.active .panel-nav__link {
  background-color: var(--blue-light, #e5edfa);
  color: var(--panel-home-link, #1565c0);
}

.panel-icons {
  height: 0;
  overflow: hidden;
  position: absolute;
  width: 0;
}

.panel-nav__icon {
  flex: none;
  height: 21px;
  width: 21px;
}

.panel-nav__icon-wrapper {
  display: inline-flex;
  position: relative;
}

.panel-nav__badge {
  align-items: center;
  background-color: var(--error, #fd5249);
  border-radius: 999px;
  color: var(--white, #ffffff);
  display: flex;
  font-size: 10px;
  font-weight: 700;
  height: 16px;
  justify-content: center;
  line-height: 1;
  min-width: 16px;
  padding: 0 4px;
  position: absolute;
  right: -7px;
  top: -6px;
}

.panel-nav-avisos {
  position: relative;
}

.panel-nav-avisos__panel {
  animation: panel-nav-drop 0.18s ease;
  background-color: var(--white, #ffffff);
  border: 1px solid var(--panel-home-border, #e5e9ef);
  border-radius: 16px;
  box-shadow: 0 20px 50px var(--panel-nav-shadow, rgba(15, 23, 32, 0.22));
  max-width: 80vw;
  overflow: hidden;
  position: absolute;
  right: 0;
  top: calc(100% + 10px);
  width: 340px;
  z-index: 40;
}

.panel-nav-avisos__header {
  align-items: center;
  border-bottom: 1px solid var(--panel-nav-divider, #eef1f5);
  display: flex;
  justify-content: space-between;
  padding: 1rem 1.2rem;
}
.panel-nav-avisos__header h3 {
  color: var(--black, #121212);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.2;
  margin: 0;
}

.panel-nav-avisos__close {
  background: transparent;
  border: 0;
  color: var(--panel-nav-time, #9aa1aa);
  cursor: pointer;
  font-size: 16px;
  line-height: 1;
  padding: 0.2rem;
}
.panel-nav-avisos__close:focus-visible {
  outline: 2px solid var(--blue, #3b82f6);
  outline-offset: 2px;
}

.panel-nav-avisos__list {
  list-style: none;
  margin: 0;
  max-height: 340px;
  overflow-y: auto;
  padding: 0;
}

.panel-nav-avisos__backdrop {
  animation: panel-nav-fade 0.2s ease;
  background-color: var(--panel-nav-overlay, rgba(15, 23, 32, 0.4));
  display: none;
  inset: 0;
  position: fixed;
}

.panel-nav-avisos__grabber {
  background-color: var(--panel-home-border, #e5e9ef);
  border-radius: 2px;
  display: none;
  height: 4px;
  margin: 0.7rem auto 0;
  width: 38px;
}

.panel-nav-avisos__list li + li {
  border-top: 1px solid var(--panel-nav-row-border, #f3f5f8);
}

.new-notification-link-container {
  align-items: flex-start;
  display: flex;
  gap: 0.7rem;
  padding: 0.85rem 1.2rem;
  text-decoration: none;
  transition: background-color 0.15s ease;
}
.new-notification-link-container:hover {
  background-color: var(--panel-home-row-hover, #eef3fb);
}
.new-notification-link-container:focus-visible {
  outline: 2px solid var(--blue, #3b82f6);
  outline-offset: -2px;
}
.new-notification-link-container p, .new-notification-link-container .number-of-devices-label {
  color: var(--panel-nav-message, #43474c);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.45;
  margin: 0;
}
.new-notification-link-container time {
  color: var(--panel-nav-time, #9aa1aa);
  display: block;
  font-size: 11px;
  line-height: 1;
  margin-top: 0.3rem;
}
.new-notification-link-container img {
  flex-shrink: 0;
}

.new-notification .new-notification-link-container {
  background-color: var(--panel-home-row-bg, #f7f9fc);
}
.new-notification .new-notification-link-container p, .new-notification .new-notification-link-container .number-of-devices-label {
  font-weight: 600;
}
.new-notification .new-notification-link-container::before {
  background-color: var(--blue, #3b82f6);
  border-radius: 50%;
  content: "";
  flex-shrink: 0;
  height: 8px;
  margin-top: 5px;
  width: 8px;
}

li:not(.new-notification) > .new-notification-link-container::before {
  content: "";
  flex-shrink: 0;
  width: 8px;
}

.panel-nav-avisos__list .not-notification {
  padding: 2.6rem 1.4rem;
}
.panel-nav-avisos__list .not-notification section {
  align-items: center;
  display: flex;
  flex-direction: column;
  text-align: center;
}

.not-notification__icon {
  align-items: center;
  background-color: var(--panel-nav-hover, #f1f3f5);
  border-radius: 50%;
  color: var(--panel-nav-time, #9aa1aa);
  display: flex;
  flex-shrink: 0;
  height: 56px;
  justify-content: center;
  width: 56px;
}
.not-notification__icon svg {
  height: 24px;
  width: 24px;
}

.not-notification__title {
  color: var(--black, #121212);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.3;
  margin: 0.9rem 0 0;
}

.not-notification__text {
  color: var(--landing-text-muted, #6b7280);
  font-size: 13px;
  line-height: 1.5;
  margin: 0.35rem 0 0;
  max-width: 26ch;
}

@media only screen and (max-width: 1400px) {
  .panel-nav__logo {
    width: 112px;
  }
  .panel-nav__link {
    padding: 0.5rem 0.6rem;
  }
  .panel-nav__label {
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px;
  }
}
@media only screen and (max-width: 950px) {
  .panel-nav {
    gap: 0.5rem;
    padding: 0.7rem 0.9rem;
    z-index: 60;
  }
  .panel-nav__list {
    background-color: var(--white, #ffffff);
    border-top: 1px solid var(--panel-home-border, #e5e9ef);
    bottom: 0;
    display: grid;
    gap: 0;
    grid-template-columns: repeat(5, 1fr);
    left: 0;
    padding: 6px 4px calc(6px + env(safe-area-inset-bottom));
    position: fixed;
    right: 0;
  }
  .panel-nav__link {
    border-radius: 0;
    color: var(--panel-home-text-muted, #6b6b6b);
    flex-direction: column;
    font-size: 10px;
    gap: 0.2rem;
    justify-content: center;
    min-height: 56px;
    padding: 0.4rem 0.2rem;
    width: 100%;
  }
  .panel-nav__link:hover {
    background-color: transparent;
  }
  .panel-nav__item.active .panel-nav__link {
    background-color: transparent;
    color: var(--panel-home-link, #1565c0);
  }
  .panel-nav__icon {
    height: 22px;
    width: 22px;
  }
  .panel-nav__label {
    clip: auto;
    clip-path: none;
    height: auto;
    overflow: visible;
    position: static;
    width: auto;
  }
  .panel-nav__logo {
    width: 92px;
  }
  .panel-nav__name {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .panel-nav__badge {
    font-size: 9px;
    height: 15px;
    min-width: 15px;
    right: -8px;
    top: -5px;
  }
  .panel-nav-avisos__backdrop:not(.none) {
    display: block;
  }
  .panel-nav-avisos__panel {
    animation: panel-nav-sheet 0.28s cubic-bezier(0.16, 1, 0.3, 1);
    border: 0;
    border-radius: 18px 18px 0 0;
    bottom: 0;
    display: flex;
    flex-direction: column;
    left: 0;
    max-height: 80%;
    max-width: none;
    padding-bottom: env(safe-area-inset-bottom);
    position: fixed;
    right: 0;
    top: auto;
    width: auto;
  }
  .panel-nav-avisos__panel.none {
    display: none;
  }
  .panel-nav-avisos__grabber {
    display: block;
  }
  .panel-nav-avisos__list {
    max-height: none;
  }
  .panel-nav ~ main {
    padding-bottom: calc(62px + env(safe-area-inset-bottom) + 1.5rem);
  }
}
@keyframes panel-nav-drop {
  from {
    opacity: 0;
    transform: translateY(-8px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@keyframes panel-nav-fade {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes panel-nav-sheet {
  from {
    transform: translateY(100%);
  }
  to {
    transform: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  .panel-nav-avisos__panel,
  .panel-nav-avisos__backdrop {
    animation: none;
  }
}
.affiliate-nav__list {
  list-style: none;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0.5rem;
}
.affiliate-nav__list a,
.affiliate-nav__list button,
.affiliate-nav__list label {
  align-items: center;
  background-color: transparent;
  border-radius: 10px;
  box-shadow: none;
  color: var(--panel-home-text-soft, #454b57);
  cursor: pointer;
  display: flex;
  font-size: 0.875rem;
  font-weight: 600;
  gap: 0.5rem;
  justify-content: center;
  letter-spacing: -0.01em;
  line-height: 1;
  padding: 0.6rem 0.85rem;
  position: relative;
  text-decoration: none;
  width: 100%;
  transition: background-color 0.2s ease, color 0.2s ease;
}
.affiliate-nav__list li.active a, .affiliate-nav__list li.active button, .affiliate-nav__list li.active label, .affiliate-nav__list li:hover a, .affiliate-nav__list li:hover button, .affiliate-nav__list li:hover label {
  background-color: var(--blue-light, #e5edfa);
  color: var(--panel-home-link, #1565c0);
}
@media only screen and (max-width: 1400px) {
  .affiliate-nav__list {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
  }
}
@media only screen and (max-width: 950px) {
  .affiliate-nav__list {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    width: auto;
    z-index: 60;
    gap: 0;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    background-color: var(--white, #ffffff);
    border-top: 1px solid var(--panel-home-border, #e5e9ef);
    padding: 6px 4px calc(6px + env(safe-area-inset-bottom));
  }
  .affiliate-nav__list > li > a, .affiliate-nav__list > li > button, .affiliate-nav__list > li > label {
    flex-direction: column;
    gap: 3px;
    min-height: 56px;
    padding: 7px 2px;
    border-radius: 0;
    color: var(--panel-home-text-muted, #6b6b6b);
  }
  .affiliate-nav__list > li > a p, .affiliate-nav__list > li > a .number-of-devices-label, .affiliate-nav__list > li > button p, .affiliate-nav__list > li > button .number-of-devices-label, .affiliate-nav__list > li > label p, .affiliate-nav__list > li > label .number-of-devices-label {
    display: block;
    font-size: 11px;
  }
  .affiliate-nav__list > li.active > a, .affiliate-nav__list > li.active > button, .affiliate-nav__list > li.active > label, .affiliate-nav__list > li:hover > a, .affiliate-nav__list > li:hover > button, .affiliate-nav__list > li:hover > label {
    background-color: transparent;
    color: var(--panel-home-link, #1565c0);
  }
}

.error-article {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 6rem;
  margin: 0 auto;
  max-width: 900px;
  padding: 2rem;
}
.error-article ul {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 1rem;
  list-style: none;
  text-align: left;
  width: 100%;
}
.error-article ul a {
  align-items: center;
  background-color: var(--black, #121212);
  border-radius: 6px;
  color: var(--white, #ffffff);
  display: flex;
  flex-direction: row;
  font: 700 1rem "Customfont";
  gap: 0.5rem;
  text-decoration: none;
  padding: 0.5rem 1rem;
}

.error-container {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  width: 100%;
  word-wrap: break-word;
}
.error-container h2 {
  font-size: 1.2rem;
  font-weight: bold;
}
.error-container > p, .error-container > .number-of-devices-label {
  color: var(--error, #fd5249);
  font: 500 1.125rem "Customfont";
}
.error-container .panel-capture-main__main-list {
  margin-top: 3rem;
}

.button-error-container {
  align-items: center;
  display: flex;
  flex-direction: column;
  margin-top: 2rem;
}

.panel-my-signature-main {
  align-items: stretch;
  display: flex;
  flex-direction: column;
  margin: 0 auto;
  padding-bottom: 1rem;
  width: min(100%, 44.75rem);
}

.panel-my-signature-main ul {
  display: flex;
  flex-direction: column;
  font: 500 1.1rem "Customfont";
  gap: 1rem;
  list-style: none;
  margin-top: 1rem;
}
.panel-my-signature-main ul li {
  align-items: center;
  display: flex;
  flex-direction: row;
  gap: 0.5rem;
}

.panel-my-signature-main h1 {
  margin: 6rem auto 3rem;
  text-align: center;
}

.panel-my-signature-main h2 {
  font: 400 2rem "Customfont";
}

.panel-my-signature-main p, .panel-my-signature-main .number-of-devices-label {
  font: 400 0.9 "Customfont";
}

.panel-my-signature-main article + article {
  margin-top: 1.5rem;
}

.panel-my-signature-plan-info-container {
  margin-top: 1rem;
}
.panel-my-signature-plan-info-container strong,
.panel-my-signature-plan-info-container span {
  border-bottom: 1px solid var(--gray-medium, #dee2e6);
  display: block;
  font: 500 1.2rem "Customfont";
  padding: 0.5rem;
  width: 100%;
}
.panel-my-signature-plan-info-container section {
  align-items: center;
  display: flex;
  flex-direction: row;
  gap: 2rem;
  justify-content: left;
}
.panel-my-signature-plan-info-container section + section {
  border-top: 1px solid var(--gray-medium, #dee2e6);
}

.panel-my-signature-plan-info-section {
  width: 100%;
}

.panel-my-signature-plan-info-button-container,
.panel-order-information-button-container {
  display: flex;
  flex-direction: row;
  gap: 1rem;
  margin-top: 1rem;
}

.panel-my-signature-plan-info-button-container .cancel-signature {
  background-color: white;
  color: var(--red, #fd5249);
  font: 700 1rem "Customfont";
  padding: 0.5rem;
}

.panel-my-signature-plan-info-section,
.panel-my-signature-plan-info-section-table {
  width: 100%;
}

.panel-my-signature-plan-info-section-table {
  background-color: unset;
  border-collapse: collapse;
  border-radius: 0;
  font: 500 1.1rem "Customfont";
  margin-top: 1rem;
  padding: 0;
}
.panel-my-signature-plan-info-section-table tr + tr {
  border-top: 1px solid var(--gray-medium, #dee2e6);
}

.button-cancel-plan {
  align-items: center;
  background: transparent;
  color: var(--error, #fd5249);
  display: flex;
  flex-direction: row;
  gap: 1rem;
}

.panel-my-signature-main .panel-my-signature-discount-plan-announcement {
  align-items: center;
  background: linear-gradient(90deg, var(--gradient, #3b82f6) 50.54%, var(--gradient2, #60c7ba) 81.76%);
  color: var(--white, #ffffff);
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.panel-my-signature-main .panel-my-signature-discount-plan-announcement h2 {
  font: 400 2rem "Customfont";
}

.discount-plan-announcement-button {
  background-color: var(--white, #ffffff);
  color: var(--black, #121212);
  padding: 1rem 3rem;
  width: 100%;
}

.panel-my-signature-debt-payment-section {
  width: 100%;
}
.panel-my-signature-debt-payment-section h3 {
  display: inline-block;
  font: 500 1.5rem "Customfont";
  padding: 0.5rem;
  padding: 1rem 0 1.5rem 0;
  width: 100%;
}
.panel-my-signature-debt-payment-section p, .panel-my-signature-debt-payment-section .number-of-devices-label {
  color: var(--black, #121212);
  font-size: 1.125rem;
  font-style: normal;
  font-weight: 500;
  line-height: 140%;
  padding: 0.5rem 0;
  width: 50%;
}

.confirmation-modal h1 {
  font: 500 3rem "Customfont";
  margin-bottom: 1rem;
  text-align: left !important;
}
.confirmation-modal h2 {
  font: 500 1.1rem "Customfont";
  max-width: 750px;
}
.confirmation-modal .modal-content {
  align-items: start;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  text-align: left;
}
.confirmation-modal .button-primary {
  padding: 1.5rem 1rem;
  width: 100%;
}

.confirmation-modal .content-modal.max-width {
  max-width: calc(700px + 2rem);
}

.modal-button-cancel-signature,
.modal-button-keep-signature {
  flex-grow: 1;
  width: 100%;
}

.modal-button-cancel-signature {
  background-color: var(--error, #fd5249);
}

.modal-button-keep-signature {
  background-color: var(--blue, #3b82f6);
}

.your-current-plan-article {
  background-color: var(--white, #ffffff);
  display: flex;
  padding: 1.5rem 3.5rem 3.5rem 3.5rem;
  flex-direction: column;
  align-items: flex-start;
  gap: 1rem;
  align-self: stretch;
  border-radius: 0.375rem;
}

.do-you-want-more-devices-article {
  align-items: center;
  background: linear-gradient(72deg, var(--gradient, #3b82f6) 28.37%, var(--gradient2, #60c7ba) 100%);
  border: 1px solid var(--blue-light, #e5edfa);
  border-radius: 0.375rem;
  color: var(--white, #ffffff);
  display: flex;
  gap: 1rem 0.25rem;
  padding: 1.5rem 2rem;
  justify-content: space-between;
  opacity: 1;
}
.do-you-want-more-devices-article > section {
  display: flex;
  flex-direction: column;
  gap: 0.1875rem;
}

.button-more-devices {
  background-color: var(--white, #ffffff);
  border-radius: 0.375rem;
  display: flex;
  padding: 1rem 3.4375rem;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
  flex-shrink: 0;
  color: var(--black, #121212);
  /* label */
  font-size: 1rem;
  font-style: normal;
  font-weight: 700;
  line-height: 100%;
  letter-spacing: -0.02rem;
  text-decoration: unset;
  transition: background-color 0.5s ease, color 0.5s ease;
}
.button-more-devices img {
  transition: filter 0.5s ease;
}
.button-more-devices:hover {
  background-color: var(--black, #121212);
  color: var(--white, #ffffff);
}
.button-more-devices:hover img {
  filter: brightness(100);
}

.your-signatures-article {
  display: flex;
  padding: 1.5rem 3.5rem;
  flex-direction: column;
  align-items: flex-start;
  gap: 1rem;
  align-self: stretch;
  border-radius: 0.375rem;
  background: var(--white, #ffffff);
  /* Sombra */
  box-shadow: 0.5rem 0.75rem 1.5rem 0 rgba(18, 18, 18, 0.08);
}

.panel-active-subscription-article {
  display: flex;
  padding: 1rem;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.5rem;
  border-radius: 1rem;
  border: 1px solid var(--gray-medium, #dee2e6);
  background: var(--white, #ffffff);
  box-shadow: 0 0.375rem 1rem 0 rgba(0, 0, 0, 0.16);
  width: 100%;
}

.extend-signature,
.cancel-signature {
  align-items: center;
  background: none;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  font-size: 1rem;
  font-style: normal;
  font-weight: 700;
  gap: 0.5rem;
  line-height: 100%;
  letter-spacing: -0.32px;
  transition: text-decoration 0.5s ease;
  text-underline-offset: 0.25rem;
}
.extend-signature:hover,
.cancel-signature:hover {
  text-decoration: underline 2px solid currentColor;
}

.extend-signature {
  color: var(--blue, #3b82f6);
}

.cancel-signature {
  color: var(--red, #fd5249);
}

.ended-subscriptions::details-content {
  transition: none;
}
.ended-subscriptions.collapsible summary {
  color: var(--gray-dark, #434343);
  font: 700 1rem "Customfont";
  gap: 0.5rem;
}
.ended-subscriptions.collapsible summary:hover {
  color: var(--black, #121212);
}
.ended-subscriptions .ended-subscriptions-count {
  background: var(--gray-medium, #dee2e6);
  border-radius: 1rem;
  color: var(--gray-dark, #434343);
  font: 700 0.875rem "Customfont";
  padding: 0.125rem 0.5rem;
}
.ended-subscriptions .ended-subscriptions-hint {
  color: var(--gray-dark, #434343);
  font: 500 0.875rem "Customfont";
}
.ended-subscriptions .panel-active-subscription-article {
  background: var(--gray-light, #f5f6f7);
  box-shadow: none;
}
.ended-subscriptions .panel-my-signature-debt-payment-section h3 {
  color: var(--gray-dark, #434343);
}
.ended-subscriptions .panel-my-signature-debt-payment-section p, .ended-subscriptions .panel-my-signature-debt-payment-section .number-of-devices-label {
  color: var(--gray-dark, #434343);
  font: 500 1.125rem "Customfont";
  line-height: 140%;
  padding: 0.5rem 0;
  width: 50%;
}

.panel-my-signature-main .table-scroll-container {
  overflow-x: auto;
}

.table-scroll-container .payment-history-table {
  border-collapse: separate;
  white-space: nowrap;
}

.table-scroll-container .payment-history-table tr + tr > td {
  border-top: 1px solid var(--gray-medium, #dee2e6);
}

.clickable-table-row {
  background: none;
  border: none;
  color: inherit;
  display: inline-block;
  font: inherit;
  text-align: left;
  text-decoration: none;
  vertical-align: middle;
  width: 100%;
  transition: background-color 0.5s ease;
}
.clickable-table-row:hover {
  background-color: var(--blue-light, #e5edfa);
}
.clickable-table-row > table {
  margin-top: 0;
}

.clickable-table-row-td-container,
.checkout-payment-history .clickable-table-row-td-container {
  padding: 0;
}

@media only screen and (max-width: 950px) {
  .panel-my-signature-main h2 {
    font-size: 1.75rem;
  }
  .your-signatures-article {
    padding-inline: 1rem;
  }
  .panel-my-signature-debt-payment-section p, .panel-my-signature-debt-payment-section .number-of-devices-label {
    width: auto;
  }
  .checkout-payment-history {
    padding-inline: 2rem;
  }
}
@media only screen and (max-width: 550px) {
  .do-you-want-more-devices-article {
    flex-direction: column;
  }
}
.client-receive-photo-body--iframe {
  overflow: hidden;
}

.panel-event-gallery-header {
  padding: 2rem 1rem 4rem;
  text-align: center;
}

.panel-event-gallery-list {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.panel-event-gallery-list li {
  display: flex;
  flex-direction: row;
  gap: 1rem;
}

.panel-event-gallery-button-container .button-primary {
  padding: 0.5rem 1rem;
}

#custom_project_briefing_form {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
}

.custom-project-briefing-section {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--gray-medium, #dee2e6);
}
.custom-project-briefing-section:first-of-type {
  padding-top: 0;
  border-top: 0;
}

.custom-project-briefing-field {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.custom-project-briefing-hours-row {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.custom-project-briefing-hours-row .input-container {
  flex: 1 1 0;
  min-width: 0;
}
@media only screen and (max-width: 540px) {
  .custom-project-briefing-hours-row {
    flex-direction: column;
    align-items: stretch;
  }
  .custom-project-briefing-hours-row .custom-project-briefing-hours-sep {
    display: none;
  }
}
.custom-project-briefing-hours-row.is-invalid .input-container input {
  border: 1px solid var(--error, #fd5249);
  border-radius: 0.25rem;
}

.custom-project-briefing-conditional {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-top: 0.25rem;
  padding-left: 1rem;
  border-left: 2px solid var(--gray-medium, #dee2e6);
}

.custom-project-briefing-hours-sep {
  font: 400 0.95rem "Customfont";
  color: var(--gray-dark, #434343);
  user-select: none;
}

.custom-project-briefing-hint {
  font: 400 0.85rem "Customfont";
  line-height: 1.5;
  color: var(--gray-dark, #434343);
  margin-top: -1rem;
}

.custom-project-briefing-subquestion {
  font: 700 1rem "Customfont";
  color: var(--black, #121212);
  margin-top: 0.5rem;
}

.custom-project-briefing-required-mark {
  color: var(--error, #fd5249);
  margin-left: 0.15rem;
}

.custom-project-briefing-cost-tag {
  align-self: flex-start;
  font: 700 0.6875rem "Customfont";
  padding: 0.2rem 0.55rem;
  border-radius: 999px;
  border: 1px solid var(--yellow, #E69839);
  background: rgba(230, 152, 57, 0.12);
  color: var(--yellow, #E69839);
}

.custom-project-briefing-radio-description {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.custom-project-briefing-radio-description p, .custom-project-briefing-radio-description .number-of-devices-label {
  font: 400 0.9rem "Customfont";
  line-height: 1.45;
}

.event-type-radio-inputs-container input[data-multi-field=photo_orientation]:checked + label {
  background-color: var(--black, #121212);
  color: var(--white, #ffffff);
}
.event-type-radio-inputs-container.is-invalid label {
  border-color: var(--error, #fd5249);
}

.mirror-image-checkbox-list.is-invalid label {
  box-shadow: 0 0 0 2px var(--error, #fd5249);
}

#custom_project_briefing_form .mirror-image-checkbox-list[data-field=access_type] {
  grid-template-columns: 1fr 1fr auto;
}
@media only screen and (max-width: 600px) {
  #custom_project_briefing_form .mirror-image-checkbox-list[data-field=access_type] {
    grid-template-columns: 1fr;
  }
}

.input-container.is-invalid input:not([type=checkbox]):not([type=radio]), .input-container.is-invalid textarea, .input-container.is-invalid select {
  border: 1px solid var(--error, #fd5249);
  border-radius: 0.25rem;
}
.input-container.is-invalid input[type=checkbox] {
  outline: 2px solid var(--error, #fd5249);
  outline-offset: 2px;
}

#custom_project_briefing_form .input-floating-container input:placeholder-shown:not(:focus) + label,
#custom_project_briefing_form .input-floating-container textarea:placeholder-shown:not(:focus) + label {
  font-size: 1rem;
  transform: translateY(0);
}

#custom_project_briefing_form .input-floating-container input:focus + label,
#custom_project_briefing_form .input-floating-container input:not(:placeholder-shown) + label,
#custom_project_briefing_form .input-floating-container textarea:focus + label,
#custom_project_briefing_form .input-floating-container textarea:not(:placeholder-shown) + label {
  font-size: 0.75rem;
  transform: translateY(-1rem);
}

#custom_project_briefing_form .user-agree-with-terms-input-container {
  align-items: center;
  justify-content: flex-start;
  text-align: left;
}
#custom_project_briefing_form .user-agree-with-terms-input-container input {
  flex: 0 0 auto;
}
#custom_project_briefing_form .user-agree-with-terms-input-container label {
  text-align: left;
}

.custom-project-briefing-notes-container {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.custom-project-briefing-notes-container h4 {
  margin: 0;
  font: 700 1rem "Customfont";
  color: var(--black, #121212);
}
.custom-project-briefing-notes-container textarea {
  background-color: var(--white, #ffffff);
  border: 1px solid var(--gray-medium, #dee2e6);
  border-radius: 0.5rem;
  font: 400 1rem "Customfont";
  line-height: 1.4;
  padding: 0.75rem 1rem;
  resize: vertical;
  width: 100%;
  min-height: 6rem;
}
.custom-project-briefing-notes-container textarea::placeholder {
  color: var(--gray-dark, #434343);
  opacity: 0.6;
}
.custom-project-briefing-notes-container textarea:focus {
  border-color: var(--blue, #3b82f6);
  outline: none;
}
.custom-project-briefing-notes-container.is-invalid textarea {
  border-color: var(--error, #fd5249);
}

.modal-custom-project-briefing-conditions .content-modal {
  display: flex;
  flex-direction: column;
  max-height: calc(100vh - 4rem);
  overflow: hidden;
  padding: 0;
}
.modal-custom-project-briefing-conditions .content-close {
  flex: 0 0 auto;
  padding: 1.25rem 1.5rem 0;
}
.modal-custom-project-briefing-conditions .modal-content {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  padding: 0.5rem 2.5rem 2rem;
  scrollbar-color: var(--gray-medium, #dee2e6) var(--gray-light, #f5f6f7);
}
.modal-custom-project-briefing-conditions .modal-content::-webkit-scrollbar-thumb {
  background: var(--gray-medium, #dee2e6);
  border: none;
  border-radius: 5px;
}
.modal-custom-project-briefing-conditions .modal-content::-webkit-scrollbar-track {
  background: var(--gray-light, #f5f6f7);
}
.modal-custom-project-briefing-conditions .modal-content h2 {
  font: 700 1.875rem "Customfont";
  color: var(--blue-strong, #112562);
  text-align: left;
  margin: 0 0 0.5rem;
  line-height: 1.2;
}
@media only screen and (max-width: 768px) {
  .modal-custom-project-briefing-conditions .modal-content h2 {
    font-size: 1.5rem;
  }
}
.modal-custom-project-briefing-conditions .modal-content .custom-project-briefing-conditions-subtitle {
  font: 400 1rem "Customfont";
  color: var(--gray-dark, #434343);
  line-height: 1.5;
  margin: 0 0 1.5rem;
}
.modal-custom-project-briefing-conditions .modal-content h3 {
  font: 700 1.05rem "Customfont";
  color: var(--black, #121212);
  margin: 1.75rem 0 0.5rem;
  padding-left: 0.75rem;
  border-left: 3px solid var(--blue, #3b82f6);
  line-height: 1.3;
}
.modal-custom-project-briefing-conditions .modal-content p, .modal-custom-project-briefing-conditions .modal-content .number-of-devices-label {
  font: 400 0.95rem "Customfont";
  color: var(--gray-dark, #434343);
  line-height: 1.65;
  margin: 0 0 0.75rem;
}
.modal-custom-project-briefing-conditions .modal-content ul {
  margin: 0 0 1rem;
  padding-left: 1.25rem;
}
.modal-custom-project-briefing-conditions .modal-content li {
  font: 400 0.95rem "Customfont";
  color: var(--gray-dark, #434343);
  line-height: 1.65;
  margin-bottom: 0.5rem;
}
.modal-custom-project-briefing-conditions .modal-content li::marker {
  color: var(--blue, #3b82f6);
}
.modal-custom-project-briefing-conditions .modal-content strong {
  color: var(--black, #121212);
  font-weight: 700;
}

.custom-project-briefing-conditions-modal-footer {
  flex: 0 0 auto;
  padding: 1.25rem 2.5rem 1.75rem;
  border-top: 1px solid var(--gray-medium, #dee2e6);
  display: flex;
  justify-content: flex-end;
  gap: 0.75rem;
}
.custom-project-briefing-conditions-modal-footer button {
  background: var(--black, #121212);
  color: var(--white, #ffffff);
  border: 0;
  border-radius: 0.5rem;
  padding: 0.875rem 2rem;
  font: 700 0.95rem "Customfont";
  cursor: pointer;
  transition: background 0.15s ease;
}
.custom-project-briefing-conditions-modal-footer button:hover {
  background: var(--blue-strong, #112562);
}
.custom-project-briefing-conditions-modal-footer button:active {
  transform: translateY(1px);
}

.custom-project-briefing-warning-box {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding: 1.25rem 1.5rem;
  border: 1px solid var(--yellow, #E69839);
  border-radius: 0.75rem;
  background: rgba(230, 152, 57, 0.1);
  color: var(--gray-dark, #434343);
  font: 400 0.9rem "Customfont";
  line-height: 1.55;
}
.custom-project-briefing-warning-box p, .custom-project-briefing-warning-box .number-of-devices-label {
  margin: 0;
}
.custom-project-briefing-warning-box strong {
  color: var(--black, #121212);
  font-weight: 700;
}

.custom-project-briefing-link {
  background: none;
  color: var(--blue, #3b82f6);
  cursor: pointer;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 2px;
  transition: color 0.25s ease;
}
.custom-project-briefing-link:hover {
  color: var(--blue-strong, #112562);
}

.custom-project-briefing-success {
  text-align: center;
  padding: 1.5rem 0.75rem;
}
.custom-project-briefing-success .custom-project-briefing-success-check {
  width: 5.25rem;
  height: 5.25rem;
  margin: 0 auto 1.25rem;
  border-radius: 50%;
  background: rgba(17, 37, 98, 0.1);
  color: var(--blue-strong, #112562);
  display: flex;
  align-items: center;
  justify-content: center;
}
.custom-project-briefing-success .custom-project-briefing-success-check svg {
  width: 2.5rem;
  height: 2.5rem;
}
.custom-project-briefing-success h2 {
  font: 700 1.5rem "Customfont";
  color: var(--blue-strong, #112562);
  margin-bottom: 0.5rem;
}
.custom-project-briefing-success p, .custom-project-briefing-success .number-of-devices-label {
  margin: 0 auto;
  max-width: 24rem;
  font: 400 0.95rem "Customfont";
  line-height: 1.55;
  color: var(--gray-dark, #434343);
}

.conditions-of-contracting-container {
  margin-left: 1rem;
}

.checkout-main h3,
.checkout-main h2 {
  align-items: center;
  cursor: pointer;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  font: 500 1.125rem "Customfont";
  gap: 1ch;
  line-height: 140%;
  margin-bottom: 0.5rem;
  text-align: center;
}
.checkout-main h3 p, .checkout-main h3 .number-of-devices-label,
.checkout-main h2 p,
.checkout-main h2 .number-of-devices-label {
  font: 700 1.125rem "Customfont";
  text-decoration: underline solid var(--black, #121212) 0;
  text-underline-offset: 0.2rem;
}

.checkout-fill-your-data-form {
  margin-top: 2rem;
  width: min(500px, 100%);
}
.checkout-fill-your-data-form .button-primary {
  border-radius: 0.375rem;
  font: 700 1rem "Customfont";
  line-height: 1.8rem;
  padding: 1rem;
  width: 100%;
}

.checkout-fill-your-data-form-article,
.checkout-fill-your-data-physical-address-container {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.checkout-fill-your-data-checkbox-container {
  align-items: center;
  background-color: var(--white, #ffffff);
  border-radius: 0.5rem;
  display: flex;
  flex-direction: row;
  justify-content: center;
  padding: 1rem;
}
.checkout-fill-your-data-checkbox-container label {
  font: 400 1.1rem "Customfont" !important;
  width: fit-content;
}
.checkout-fill-your-data-checkbox-container label a {
  color: var(--black, #121212);
  font: 700 1.1rem "Customfont";
}
.checkout-fill-your-data-checkbox-container input {
  aspect-ratio: 1/1;
  height: 1.125rem;
  width: 1.125rem;
}

.modal-plan-features {
  cursor: pointer;
}
.modal-plan-features .content-modal {
  max-width: 800px;
  width: calc(100% - 2rem);
}
.modal-plan-features .modal-content {
  align-items: center;
  gap: 2rem;
  justify-content: center;
  text-align: center;
}
.modal-plan-features ul {
  display: flex;
  flex-direction: column;
  font: 500 1.1rem "Customfont";
  gap: 0.5rem;
  list-style: none;
  text-align: left;
  width: fit-content;
}
.modal-plan-features ul li {
  align-items: center;
  display: flex;
  flex-direction: row;
  gap: 0.5rem;
}
.modal-plan-features small {
  font: 400 0.9rem "Customfont";
  text-decoration: line-through;
}

.checkout-select-plan-button {
  appearance: none;
  background: none;
}

.notice {
  background-color: var(--blue-light, #e5edfa);
  padding: 1rem 2rem;
  border-radius: 0.375rem;
  margin-top: 2rem;
}
.notice > div {
  display: flex;
  gap: 1rem;
}
.notice h4:first-child {
  margin-bottom: 0.5rem;
}

.subscription-max-devices {
  margin-bottom: 2rem;
  background: var(--white, #ffffff);
  padding: 0.5rem;
  border-radius: inherit;
  border-radius: 0.375rem;
  text-align: center;
}

.user-profile-connected-devices-table-container .message-not-devices {
  margin-top: 1rem !important;
}
@media only screen and (max-width: 520px) {
  .user-profile-connected-devices-table-container .message-not-devices h1 {
    font-size: 1rem !important;
  }
}

.panel-download-header {
  align-items: center;
  display: flex;
  flex-direction: row;
  justify-content: center;
  padding: 1rem;
}

.panel-download-article {
  position: absolute;
  right: 0;
  top: 0;
  width: min(100%, 519px);
}

.panel-download-article-section {
  align-items: center;
  display: flex;
  flex-direction: column;
  height: 395px;
  position: relative;
  width: 100%;
}
.panel-download-article-section div {
  align-items: end;
  display: flex;
  flex-direction: column;
  gap: 3rem;
  height: 100%;
  justify-content: start;
  max-width: 389px;
  padding: 2rem 0;
  text-align: center;
  transform: translateX(2rem);
}
.panel-download-article-section div img {
  transform: rotate(90deg);
}

.panel-download-article-section-div-success {
  transform: unset !important;
}

.download__ellipsis-image {
  transform: unset !important;
  width: 100% !important;
}

.panel-download-main {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}
.panel-download-main .receive-photos-link {
  display: inline-block;
  margin: auto auto 1rem;
}

.download-all-photos-body {
  display: flex;
  flex-direction: column;
}
.download-all-photos-body .modal {
  color: var(--black, #121212);
}

.download-all-photos-mobile-text-section {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  justify-content: center;
  width: 100%;
}

@media only screen and (max-width: 950px) {
  .panel-download-article {
    padding: 0 1rem;
    position: unset;
    right: unset;
    width: 100%;
  }
  .panel-download-article-section {
    height: unset;
  }
  .panel-download-article-section div {
    transform: unset;
  }
  .loader {
    margin: 0 auto;
  }
}
.backoffice-meta-conversions-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin: 16px 0 24px;
}
.backoffice-meta-conversions-stats .backoffice-meta-conversions-stats-card {
  flex: 1;
  min-width: 150px;
  padding: 16px 20px;
  border: 1px solid #e0e0e0;
  border-radius: 10px;
  background: #ffffff;
}
.backoffice-meta-conversions-stats .backoffice-meta-conversions-stats-card__value {
  font-size: 26px;
  font-weight: 700;
  color: #0f3460;
  margin: 0;
}
.backoffice-meta-conversions-stats .backoffice-meta-conversions-stats-card__label {
  font-size: 13px;
  color: #666666;
  margin: 4px 0 0;
}
.backoffice-meta-conversions-stats .backoffice-meta-conversions-stats-card.purchase .backoffice-meta-conversions-stats .backoffice-meta-conversions-stats-card__value {
  color: #16a34a;
}
.backoffice-meta-conversions-stats .backoffice-meta-conversions-stats-card.registration .backoffice-meta-conversions-stats .backoffice-meta-conversions-stats-card__value {
  color: #1565c0;
}
.backoffice-meta-conversions-stats .backoffice-meta-conversions-stats-card.rate .backoffice-meta-conversions-stats .backoffice-meta-conversions-stats-card__value {
  color: #b45309;
}

.backoffice-meta-conversions-funnel {
  margin: 8px 0 28px;
}
.backoffice-meta-conversions-funnel .backoffice-meta-conversions-funnel-stage {
  margin-bottom: 10px;
}
.backoffice-meta-conversions-funnel .backoffice-meta-conversions-funnel-stage__head {
  display: flex;
  justify-content: space-between;
  font-size: 13px;
  margin-bottom: 3px;
}
.backoffice-meta-conversions-funnel .backoffice-meta-conversions-funnel-stage__label {
  font-weight: 600;
  color: #0f3460;
}
.backoffice-meta-conversions-funnel .backoffice-meta-conversions-funnel-stage__count {
  color: #666666;
}
.backoffice-meta-conversions-funnel .backoffice-meta-conversions-funnel-stage__track {
  background: #eef0f5;
  border-radius: 6px;
  height: 26px;
  overflow: hidden;
}
.backoffice-meta-conversions-funnel .backoffice-meta-conversions-funnel-stage__bar {
  background: linear-gradient(90deg, #0f3460, #1565c0);
  height: 100%;
  min-width: 2px;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
.backoffice-meta-conversions-funnel .backoffice-meta-conversions-funnel-stage__step {
  color: #ffffff;
  font-size: 11px;
  padding-right: 8px;
  font-weight: 600;
  white-space: nowrap;
}
.backoffice-meta-conversions-funnel .backoffice-meta-conversions-funnel-stage[data-stage=is_paying] .backoffice-meta-conversions-funnel-stage__bar, .backoffice-meta-conversions-funnel .backoffice-meta-conversions-funnel-stage[data-stage=has_subscription] .backoffice-meta-conversions-funnel-stage__bar {
  background: linear-gradient(90deg, #15803d, #16a34a);
}

.backoffice-meta-conversions-loader {
  padding: 24px;
  text-align: center;
  color: #888888;
  font-size: 14px;
}

.backoffice-meta-conversions-divider {
  border: none;
  border-top: 1px solid #e0e0e0;
  margin: 32px 0 24px;
}

.backoffice-meta-conversions-subtitle {
  font-size: 16px;
  color: #222222;
  margin: 8px 0 4px;
}

.backoffice-meta-conversions-hint {
  font-size: 12px;
  color: #888888;
  margin: 0 0 12px;
  max-width: 760px;
}

.backoffice-meta-conversions-cohort-pct {
  font-weight: 600;
  color: #16a34a;
}

.backoffice-meta-conversions-chart-section {
  margin-bottom: 28px;
  padding: 16px 20px;
  border: 1px solid #e0e0e0;
  border-radius: 10px;
  background: #ffffff;
}
.backoffice-meta-conversions-chart-section .backoffice-meta-conversions-chart-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 12px;
}
.backoffice-meta-conversions-chart-section .backoffice-meta-conversions-chart-title {
  font-size: 16px;
  margin: 0;
  color: #222222;
}
.backoffice-meta-conversions-chart-section .backoffice-meta-conversions-chart-legend {
  display: flex;
  gap: 16px;
}
.backoffice-meta-conversions-chart-section .backoffice-meta-conversions-legend-item {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: #555555;
}
.backoffice-meta-conversions-chart-section .backoffice-meta-conversions-legend-dot {
  width: 12px;
  height: 12px;
  border-radius: 3px;
  display: inline-block;
}
.backoffice-meta-conversions-chart-section .backoffice-meta-conversions-legend-dot.registration {
  background: #1565c0;
}
.backoffice-meta-conversions-chart-section .backoffice-meta-conversions-legend-dot.purchase {
  background: #16a34a;
}
.backoffice-meta-conversions-chart-section .backoffice-meta-conversions-chart {
  width: 100%;
  height: 240px;
}

.backoffice-meta-conversions-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  align-items: flex-end;
  margin-bottom: 16px;
}
.backoffice-meta-conversions-filters .backoffice-meta-conversions-filter {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.backoffice-meta-conversions-filters .backoffice-meta-conversions-filter label {
  font-size: 12px;
  color: #666666;
}
.backoffice-meta-conversions-filters .backoffice-meta-conversions-filter select,
.backoffice-meta-conversions-filters .backoffice-meta-conversions-filter input {
  padding: 8px 10px;
  border: 1px solid #cccccc;
  border-radius: 6px;
  font-size: 14px;
  min-width: 180px;
}

.backoffice-meta-conversions-badge {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 12px;
  font-size: 12px;
  font-weight: 600;
  color: #ffffff;
}
.backoffice-meta-conversions-badge.registration {
  background: #1565c0;
}
.backoffice-meta-conversions-badge.purchase {
  background: #16a34a;
}

.backoffice-meta-conversions-cell-userid,
.backoffice-meta-conversions-cell-order {
  font-family: "SF Mono", Menlo, monospace;
  font-size: 12px;
  color: #555555;
}

.backoffice-meta-conversions-cell-datetime {
  white-space: nowrap;
}

.backoffice-meta-conversions-empty {
  padding: 24px;
  text-align: center;
  color: #888888;
  font-size: 14px;
}

.receive-photos-lead-mobile-body {
  min-height: 100vh;
  min-height: 100dvh;
  margin: 0;
}

.receive-photos-lead-mobile-qr-panel {
  min-height: 100vh;
  min-height: 100dvh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(16px, 5vh, 40px) clamp(16px, 5vw, 32px);
  box-sizing: border-box;
}

.receive-photos-lead-mobile-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(14px, 2.5vh, 22px);
  width: min(26rem, 100%);
  max-height: 100%;
  overflow-y: auto;
  box-sizing: border-box;
  padding: clamp(24px, 4vh, 36px) clamp(20px, 6vw, 32px);
  background: var(--white, #ffffff);
  color: var(--black, #121212);
  border-radius: 20px;
  box-shadow: 0 1px 12px rgba(204, 204, 204, 0.25);
  text-align: center;
}
.receive-photos-lead-mobile-card .receive-photos-lead-mobile-logo-container {
  display: flex;
  justify-content: center;
  align-items: center;
}
.receive-photos-lead-mobile-card .receive-photos-lead-mobile-logo {
  width: auto;
  height: clamp(2rem, 6vh, 3rem);
  max-width: min(60%, 12rem);
  object-fit: contain;
}
.receive-photos-lead-mobile-card .receive-photos-lead-mobile-qr-title {
  margin: 0;
  font-size: clamp(22px, 6vw, 28px);
  font-weight: 700;
  color: var(--black, #121212);
}
.receive-photos-lead-mobile-card .receive-photos-lead-mobile-qr-instruction {
  margin: 0;
  max-width: 420px;
  font-size: clamp(14px, 4vw, 16px);
  line-height: 1.5;
  color: var(--gray-dark, #434343);
}
.receive-photos-lead-mobile-card .receive-photos-lead-mobile-qr-frame {
  background: #ffffff;
  padding: 14px;
  border-radius: 16px;
  border: 1px solid var(--gray-medium, #dee2e6);
}
.receive-photos-lead-mobile-card .receive-photos-lead-mobile-qr-img {
  display: block;
  width: 220px;
  max-width: 60vw;
  height: auto;
}
.receive-photos-lead-mobile-card .receive-photos-lead-mobile-code-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
}
.receive-photos-lead-mobile-card .receive-photos-lead-mobile-code-hint {
  margin: 0;
  max-width: 320px;
  font-size: clamp(13px, 3.6vw, 15px);
  line-height: 1.45;
  color: var(--gray-dark, #434343);
}
.receive-photos-lead-mobile-card .receive-photos-lead-mobile-code {
  margin: 0;
  font-size: clamp(34px, 10vw, 44px);
  font-weight: 700;
  letter-spacing: 8px;
  padding-left: 8px;
  color: var(--black, #121212);
}
.receive-photos-lead-mobile-card .receive-photos-lead-mobile-status {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: clamp(13px, 3.6vw, 15px);
  color: var(--gray-dark, #434343);
}
.receive-photos-lead-mobile-card .receive-photos-lead-mobile-status p, .receive-photos-lead-mobile-card .receive-photos-lead-mobile-status .number-of-devices-label {
  margin: 0;
}
.receive-photos-lead-mobile-card .receive-photos-lead-mobile-spinner {
  width: 18px;
  height: 18px;
  border: 3px solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  animation: receive-photos-lead-mobile-spin 0.8s linear infinite;
}
.receive-photos-lead-mobile-card .receive-photos-lead-mobile-error {
  margin: 0;
  max-width: 320px;
  font-size: clamp(13px, 3.6vw, 15px);
  line-height: 1.45;
  color: var(--red, #fd5249);
}
.receive-photos-lead-mobile-card .receive-photos-lead-mobile-restart {
  appearance: none;
  background: none;
  border: none;
  padding: 6px;
  cursor: pointer;
  font-size: clamp(13px, 3.6vw, 15px);
  color: var(--gray-dark, #434343);
  text-decoration: underline;
  text-underline-offset: 2px;
}

@keyframes receive-photos-lead-mobile-spin {
  to {
    transform: rotate(360deg);
  }
}
.collapsible {
  width: 100%;
  border-radius: 5px;
  overflow: hidden;
}
.collapsible p, .collapsible .number-of-devices-label {
  font: 500 1.1rem "Customfont";
  line-height: 1.5;
}

.collapsible-list > li + li {
  border-top: 1px solid var(--gray-medium, #dee2e6);
}

.collapsible-list ul,
.collapsible-list ol {
  list-style-position: inside;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin-left: 2rem;
}

.collapsible summary {
  align-items: center;
  cursor: pointer;
  display: flex;
  font: 400 1.5rem "Customfont";
  list-style: none;
  outline: none;
  padding: 1rem;
}

@supports (outline-color: transparent) {
  .collapsible summary {
    outline-color: transparent;
  }
}
/* Arrow icon styling */
.collapsible summary .chevron {
  margin-left: auto;
  transition: transform 0.3s;
}

/* Rotate arrow when open */
.collapsible[open] summary .chevron {
  transform: rotate(180deg);
}

/* Content styling */
.collapsible .content {
  padding: 0 1rem 1rem;
  gap: 1rem;
  display: flex;
  flex-direction: column;
}

.collapsible-list {
  list-style: none;
}

.user-support-container {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  margin: 0 auto;
  width: min(716px, 100%);
}
.user-support-container h3 {
  font: 400 1.5rem "Customfont";
}

.user-support-title {
  text-align: center;
}

.user-support-footer {
  background-color: var(--white, #ffffff);
  color: var(--black, #121212);
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding: 1rem 2rem;
  margin-bottom: 2rem;
}
.user-support-footer h2 {
  font: 400 1.5rem "Customfont";
}

.user-support-footer-list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  list-style: none;
}
.user-support-footer-list .email {
  cursor: pointer;
}
.user-support-footer-list a {
  align-items: center;
  color: var(--black, #121212);
  cursor: pointer;
  display: flex;
  flex-direction: row;
  font: 700 1rem "Customfont";
  gap: 1ch;
  text-decoration: unset;
}

details::details-content {
  block-size: 0;
  transition-property: block-size, content-visibility;
  transition-duration: 1s;
  transition-behavior: allow-discrete;
}

details[open]::details-content {
  block-size: auto;
  block-size: calc(auto);
}

.modal-contact-email h1 {
  margin-bottom: 1rem;
}
.modal-contact-email .inputs {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  flex-direction: column;
}
.modal-contact-email textarea {
  width: 100%;
}
.modal-contact-email .content-modal {
  padding: 2.5rem 2.5rem 3.75rem 2.5rem;
  width: min(100%, 42.8125rem);
}
@media screen and (orientation: landscape) {
  .modal-contact-email .content-modal {
    width: min(80%, 42.8125rem);
  }
}
.modal-contact-email .button-primary {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 1.5rem auto 0 auto;
  width: 100%;
  height: 3.5rem;
  padding: 0 1rem;
}

.user-profile-title-container {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  margin: 2rem 0 1rem;
  text-align: center;
}

.user-profile-tab-container {
  align-items: center;
  display: grid;
  grid-template-columns: 1fr 1fr;
  justify-content: center;
  margin: 0 auto 3rem;
  text-align: center;
  width: min(700px, 100%);
}

.user-profile-form-image-section {
  display: flex;
  flex-direction: row;
  gap: 1rem;
}

.user-profile-account-actions-section {
  align-items: center;
  background-color: var(--white, #ffffff);
  border-radius: 0.5rem;
  box-shadow: 0 1px 12px rgba(204, 204, 204, 0.25);
  display: flex;
  flex-direction: row;
  gap: 1rem;
  justify-content: space-between;
  padding: 1.5rem 2rem;
}
.user-profile-account-actions-section a {
  align-items: center;
  color: var(--black, #121212);
  display: flex;
  flex-direction: row;
  gap: 1ch;
  font: 700 1rem "Customfont";
  text-decoration: unset;
}

.user-profile-account-actions-section + .user-profile-account-actions-section {
  margin-top: 1rem;
}

.user-profile-cookies-button {
  align-items: center;
  background: none;
  border: unset;
  color: var(--black, #121212);
  cursor: pointer;
  display: flex;
  flex-direction: row;
  gap: 1ch;
  font: 700 1rem "Customfont";
  text-decoration: unset;
}

.user-profile-delete-account {
  align-items: center;
  background: none;
  border: unset;
  color: var(--error, #fd5249) !important;
  display: flex;
  flex-direction: row;
  gap: 1ch;
  font: 700 1rem "Customfont";
  text-decoration: unset;
}

.modal-delete-account h1,
.modal-delete-event h1 {
  font: 500 3rem "Customfont";
  margin-bottom: 1rem;
  text-align: left !important;
}
.modal-delete-account h2,
.modal-delete-event h2 {
  font: 500 1.1rem "Customfont";
  max-width: 750px;
}
.modal-delete-account .modal-content,
.modal-delete-event .modal-content {
  align-items: start;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  text-align: left;
}
.modal-delete-account .content-modal.max-width,
.modal-delete-event .content-modal.max-width {
  max-width: calc(700px + 2rem);
}
.modal-delete-account .button-primary,
.modal-delete-event .button-primary {
  padding: 1.5rem 1rem;
  width: 100%;
}
.modal-delete-account form,
.modal-delete-event form {
  width: 100%;
}

.cancel-subscription-button-container,
.modal-print-copies-button-container {
  align-items: center;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: center;
  margin-top: 1rem;
  width: 100%;
}

.user-profile-main-section {
  margin: 0 auto;
  width: min(700px, 100%);
}

.user-profile-connected-devices-table {
  border-collapse: collapse;
  padding: 1rem;
  white-space: nowrap;
  width: 100%;
}
.user-profile-connected-devices-table section {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.user-profile-connected-devices-table td {
  padding: 1rem;
  vertical-align: middle;
}
.user-profile-connected-devices-table tr + tr {
  border: none;
  border-top: 1px solid var(--gray-medium, #dee2e6);
}
.user-profile-connected-devices-table tr:first-child td {
  border: none;
}
.user-profile-connected-devices-table td:last-child,
.user-profile-connected-devices-table td:nth-last-child(2) {
  text-align: right;
}

.user-profile-connected-devices-table-container {
  overflow: auto;
  background-color: var(--white, #FFFFFF);
  border-radius: 0.5rem;
  box-shadow: 0 1px 12px rgba(204, 204, 204, 0.25);
  padding: 1rem;
  white-space: nowrap;
  width: 100%;
}

.user-profile-connected-devices-section {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.remove-device {
  background: none;
  color: var(--error, #fd5249);
  font: 700 1rem "Customfont";
}

.yellow-warning-container {
  align-items: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 100%;
}
