@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap");
.calculator-container {
  line-height: 2;
  font-family: "Poppins", sans-serif;
  color: #000000;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  pointer-events: all;
  opacity: 1;
  width: 100% !important;
}
.calculator-container #c-l-element.loading {
  opacity: 0.8 !important;
  pointer-events: none !important;
}
.calculator-container .content {
  width: 500px;
}
.calculator-container .content.l-element {
  width: 500px;
  margin: 10px !important;
}
.calculator-container .content.r-element {
  width: 700px;
  margin: 10px !important;
}
.calculator-container .content .element {
  width: 100%;
  padding: 10px;
}
.calculator-container .content .element .title {
  font-size: 16px;
  font-weight: 500;
  color: #000000 !important;
  margin-bottom: 10px;
  display: block;
}
.calculator-container .content .element .title.first-title {
  color: #000000 !important;
  font-size: 18px;
  font-weight: 600;
}
.calculator-container .content .emplyees-num-container {
  padding-bottom: 5px !important;
}
.calculator-container .content .emplyees-num-container .title {
  font-weight: 700;
}
.calculator-container .content .emplyees-num-container .slider-range {
  width: 100%;
  position: relative;
}
.calculator-container .content .emplyees-num-container .slider-range input {
  width: 100%;
  height: 30px;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
  opacity: 0;
}
.calculator-container .content .emplyees-num-container .slider-range input::-webkit-slider-thumb {
  height: 30px;
  width: 30px;
}
.calculator-container .content .emplyees-num-container .slider-range input::-moz-range-thumb {
  height: 30px;
  width: 30px;
}
.calculator-container .content .emplyees-num-container .slider-range input::-ms-thumb {
  height: 30px;
  width: 30px;
}
.calculator-container .content .emplyees-num-container .slider-range .range-wrapper {
  width: 100%;
  height: 30px;
  position: relative;
  top: 0;
  left: 0;
}
.calculator-container .content .emplyees-num-container .slider-range .range-wrapper .thumb {
  top: 50%;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background-color: #29b475;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  position: absolute;
  left: 420px;
  z-index: 3;
  transform: translate(0, -50%);
}
.calculator-container .content .emplyees-num-container .slider-range .range-wrapper .filled {
  top: 50%;
  border-radius: 5px 0 0 5px;
  width: 50%;
  background-color: #29b475;
  height: 6px;
  position: absolute;
  left: 0%;
  z-index: 2;
  transform: translate(0, -50%);
}
.calculator-container .content .emplyees-num-container .slider-range .range-wrapper .bar {
  top: 50%;
  border-radius: 5px;
  width: 100%;
  background-color: #e7e7e7;
  height: 6px;
  position: absolute;
  left: 0;
  z-index: 1;
  transform: translate(0, -50%);
}
.calculator-container .content .emplyees-num-container .slider-range .info {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 14px;
  font-weight: 400;
}
.calculator-container .content .emplyees-num-container .manual-input {
  position: relative;
  width: 100px;
  height: 40px;
  margin: 10px auto 0 auto;
}
.calculator-container .content .emplyees-num-container .manual-input input {
  width: 100%;
  height: 100%;
  padding: 0 50px 0 20px;
  font-size: 16px;
  font-weight: 500;
  color: #000000;
  background-color: white;
  text-align: center;
  outline: none;
  box-shadow: 2px 2px 0px 0px #124E78;
  border: 2px solid #124E78;
  border-radius: 0;
}
.calculator-container .content .emplyees-num-container .manual-input .icon {
  height: 35px;
  width: 35px;
  margin-top: 2px;
  position: absolute;
  right: 0;
  top: 0;
  display: flex;
  justify-content: center;
  align-items: center;
}
.calculator-container .content .emplyees-num-container .manual-input .icon svg {
  height: 55%;
}
.calculator-container .content .emplyees-num-container .manual-input .icon svg path {
  fill: #25a269;
}
.calculator-container .content .emplyees-num-container .emp-num-error-msg {
  width: 100%;
  text-align: center;
  padding-top: 10px;
  display: none;
  justify-content: center;
  align-items: center;
}
.calculator-container .content .emplyees-num-container .emp-num-error-msg.active {
  display: flex;
}
.calculator-container .content .emplyees-num-container .emp-num-error-msg span {
  color: #cc3333;
  font-size: 14px;
  font-weight: 500;
}
.calculator-container .content .package-container .pack-radio-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: nowrap;
}
.calculator-container .content .package-container .pack-radio-container .pack-radio-element {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  position: relative;
  height: 70px;
  width: 145px;
  cursor: pointer;
  font-size: 22px;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.calculator-container .content .package-container .pack-radio-container .pack-radio-element strong {
  position: relative;
  z-index: 1;
  line-height: 1.2 !important;
  font-size: 15px;
  font-weight: 500;
  color: #000000;
  width: 100%;
  text-align: center;
}
.calculator-container .content .package-container .pack-radio-container .pack-radio-element input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  z-index: 1;
}
.calculator-container .content .package-container .pack-radio-container .pack-radio-element input:checked ~ strong {
  color: #29b475;
}
.calculator-container .content .package-container .pack-radio-container .pack-radio-element input:checked ~ .wrapper {
  background-color: #eaf8f1;
  border: 1px solid #000000;
}
.calculator-container .content .package-container .pack-radio-container .pack-radio-element .wrapper {
  background-color: #f8f8fa;
  color: #000000;
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 0;
  left: 0;
  top: 0;
  border: 1px solid #e3e3e7;
  border-radius: 0;
  transition: all 0.3s ease;
}
.calculator-container .content .package-container .pack-radio-container .pack-radio-element:hover strong {
  color: #29b475;
}
.calculator-container .content .package-container .pack-radio-container .pack-radio-element:hover .wrapper {
  background-color: #eaf8f1;
  border: 1px solid #000000;
}
.calculator-container .content .module-container .module-check-container {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
}
.calculator-container .content .module-container .module-check-container .module-check-element {
  width: 100%;
  height: 40px;
  position: relative;
  border-radius: 5px;
  margin: 5px 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Poppins";
  font-size: 20px;
  border: 2px solid #124E78;
  border-radius: 0;
}
.calculator-container .content .module-container .module-check-container .module-check-element input {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 10;
  opacity: 0;
  cursor: pointer;
}
.calculator-container .content .module-container .module-check-container .module-check-element input:checked ~ strong {
  background-color: #29b475;
  color: white;
  font-weight: 600;
}
.calculator-container .content .module-container .module-check-container .module-check-element input:checked:hover ~ strong {
  background-color: #25a269;
}
.calculator-container .content .module-container .module-check-container .module-check-element strong {
  width: 100%;
  height: 100%;
  border-radius: 0;
  background-color: white;
  transition: all 0.3s ease;
  font-size: 15px;
  font-weight: 500;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}
.calculator-container .content .module-container .module-check-container .module-check-element:hover strong {
  background-color: #ffffff;
}
.calculator-container .content .options-container .option-check-element {
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  margin-bottom: 10px;
}
.calculator-container .content .options-container .option-check-element input {
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  width: 18px;
  height: 18px;
  border: 1px solid black;
  border-radius: 0;
  background-color: white;
  cursor: pointer;
  position: relative;
}
.calculator-container .content .options-container .option-check-element input:checked {
  background-color: #29b475;
  border-color: #29b475;
}
.calculator-container .content .options-container .option-check-element input:checked::after {
  content: "✓";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: white;
  font-size: 0.9rem;
  font-weight: bold;
  line-height: 1;
}
.calculator-container .content .options-container .option-check-element input:checked ~ span {
  font-weight: 500 !important;
}
.calculator-container .content .options-container .option-check-element span {
  line-height: 19px;
}
.calculator-container .content .calculation-display-title {
  padding: 0 20px !important;
  margin-top: 0 !important;
}
.calculator-container .content .calculation-display-title span {
  font-size: 30px !important;
  width: 100%;
  display: flex;
  justify-content: flex-start;
  margin-bottom: 0 !important;
}
.calculator-container .content .display-calc-element {
  padding: 0 !important;
  padding-bottom: 12px !important;
  height: 100%;
}
.calculator-container .content .display-calc-element .calculation-display-container {
  display: flex;
  height: 100%;
  flex-wrap: wrap;
  align-content: space-between;
  border: 1px solid #000000;
  border-radius: 0;
  background-color: #ffffff;
}
.calculator-container .content .display-calc-element .calculation-display-container > div {
  width: 100%;
}
.calculator-container .content .display-calc-element .demo-container {
  display: none;
  position: relative;
  min-height: 100%;
  width: 700px;
  line-height: 1.6 !important;
  max-width: 100%;
  background-color: #ffffff;
  padding: 10px 18px 18px 18px;
  color: #000000;
  border: 1px solid #000000;
  border-radius: 0;
}
.calculator-container .content .display-calc-element .demo-container .element {
  padding-bottom: 0 !important;
}
.calculator-container .content .display-calc-element .demo-container .element .first-title {
  margin: 0 0 10px 0 !important;
}
.calculator-container .content .display-calc-element .demo-container .nova-form-container {
  padding: 0 !important;
}
.calculator-container .content .display-calc-element .demo-container .nova-form-group {
  padding: 0 10px !important;
}
.calculator-container .content .display-calc-element .demo-container .nova-btn {
  padding: 0 1rem !important;
}
.calculator-container .content .display-calc-element.show-calculation .calc-card {
  display: block;
}
.calculator-container .content .display-calc-element.show-calculation .demo-container {
  display: none;
}
.calculator-container .content .display-calc-element.show-book-demo .calc-card {
  display: none;
}
.calculator-container .content .display-calc-element.show-book-demo .demo-container {
  display: block;
}
.calculator-container .content .calculation-display-container {
  width: 100%;
  background-color: #ffffff;
  border-radius: 20px;
  padding: 10px 20px 10px 10px;
  position: relative;
  line-height: 1;
}
.calculator-container .content .calculation-display-container .calc-display-row {
  position: relative;
  width: 100%;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  padding: 0;
}
.calculator-container .content .calculation-display-container .calc-display-row.options {
  padding-bottom: 0 !important;
}
.calculator-container .content .calculation-display-container .calc-display-row.options .inner-row {
  padding-bottom: 0 !important;
}
.calculator-container .content .calculation-display-container .calc-display-row.options .extra-info {
  padding: 5px 0 0 0 !important;
}
.calculator-container .content .calculation-display-container .calc-display-row .inner-row {
  position: relative;
  width: 100%;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  padding: 0 30px 10px 20px;
}
.calculator-container .content .calculation-display-container .calc-display-row .inner-row.has-note .right {
  display: flex !important;
  flex-wrap: nowrap !important;
}
.calculator-container .content .calculation-display-container .calc-display-row .inner-row.has-note .right .note-container {
  position: absolute;
  height: 100%;
  width: 20px;
}
.calculator-container .content .calculation-display-container .calc-display-row .inner-row.has-note .right .note-container .note {
  width: 17px;
  height: 19px;
  background-color: #29b475;
  color: white;
  border-radius: 50%;
  position: absolute;
  left: 10px;
  top: 0;
  transform: translate(100%, -5%);
}
.calculator-container .content .calculation-display-container .calc-display-row .inner-row.has-note .right .note-container .note .icon {
  position: relative;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 16px;
  font-weight: 500;
  cursor: pointer;
  padding-top: 1px;
}
.calculator-container .content .calculation-display-container .calc-display-row .inner-row.has-note .right .note-container .note .icon:hover ~ .message {
  opacity: 1;
}
.calculator-container .content .calculation-display-container .calc-display-row .inner-row.has-note .right .note-container .note .message {
  width: 250px;
  min-height: 50px;
  transition: opacity 0.3s ease;
  opacity: 0;
  pointer-events: none;
  font-size: 14px;
  font-weight: 400;
  display: flex;
  align-items: center;
  background-color: #29b475;
  color: white;
  position: absolute;
  top: 190%;
  right: -32px;
  padding: 5px;
  padding-left: 10px;
  border-radius: 10px;
  text-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
  white-space: normal;
  line-height: 1.5;
}
.calculator-container .content .calculation-display-container .calc-display-row .inner-row.has-note .right .note-container .note .message::after {
  content: "";
  width: 0;
  height: 0;
  border-top: 8px solid transparent;
  border-right: 16px solid #29b475;
  border-bottom: 8px solid transparent;
  position: absolute;
  right: 32px;
  bottom: 97%;
  transform: translate(0, -50%) rotate(90deg);
}
.calculator-container .content .calculation-display-container .calc-display-row .info {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  font-size: 15px;
  font-weight: 500;
  color: #000000;
  padding: 10px 0;
  white-space: normal;
}
.calculator-container .content .calculation-display-container .calc-display-row .info .extra-info {
  line-height: 1.2;
  padding: 10px 0 0 5px;
  width: 100%;
  font-size: 14px;
  font-weight: 400;
}
.calculator-container .content .calculation-display-container .calc-display-row .info .info-nbr-emp {
  margin: 0 3px;
  font-weight: 600;
}
.calculator-container .content .calculation-display-container .calc-display-row .left {
  width: 70%;
  justify-content: flex-start;
}
.calculator-container .content .calculation-display-container .calc-display-row .right {
  width: 30%;
  justify-content: flex-end;
}
.calculator-container .content .calculation-display-container .calc-display-row.has-hr hr {
  margin: 0 20px;
  border-radius: 1.5px;
  height: 3px;
  background-color: #2bb476;
  width: 100%;
}
.calculator-container .content .calculation-display-container .calc-display-row.total-price .extra-info {
  padding: 10px 0;
}
.calculator-container .content .calculation-display-container .calc-display-row.total-price #display-total-price {
  font-size: 18px;
  font-weight: 600;
  color: #000000;
}
.calculator-container .content .demo-container {
  width: 100%;
  background-color: #ffffff;
  border-radius: 20px;
  padding: 0px 20px 20px 20px;
  position: relative;
  line-height: 2;
}
.calculator-container .content .demo-container .first-title {
  margin: 0 20px;
}
.calculator-container .content .demo-container .nova-form-container > h4 {
  margin: 20px 20px 10px 20px;
  font-size: 24px;
  font-weight: 600;
  color: #000000;
}
.calculator-container .content .demo-container .nova-form-container .nova-form-group > input {
  background-color: #ffffff;
}
.calculator-container .content .demo-container .nova-form-container .nova-form-group > label {
  background-color: #ffffff;
}
.calculator-container .content .demo-container .nova-form-container .nova-form-group > textarea {
  background-color: #ffffff;
  resize: vertical;
}
.calculator-container .content .nova-phone-prefix-container {
  line-height: 2 !important;
}
@media (max-width: 1200px) {
  .calculator-container .content {
    margin: 20px 5px;
  }
}
@media (max-width: 768px) {
  .calculator-container .content.l-element, .calculator-container .content.r-element {
    width: 90%;
  }
  .calculator-container .content .first-title,
  .calculator-container .content .package-container .title,
  .calculator-container .content .module-container .title,
  .calculator-container .content .extra-info {
    text-align: center;
  }
  .calculator-container .content .calculation-display-container .calc-display-row .note-container {
    display: none;
  }
  .calculator-container .content .calculation-display-container .calc-display-row .left,
  .calculator-container .content .calculation-display-container .calc-display-row .right {
    width: 100%;
    justify-content: center;
    margin-bottom: 10px;
  }
  .calculator-container .content .calculation-display-container .calc-display-row .right {
    padding: 0 0 25px 0 !important;
  }
  .calculator-container .content .calculation-display-container .calc-display-row .info {
    white-space: normal;
  }
}
@media (max-width: 576px) {
  .calculator-container .content.l-element, .calculator-container .content.r-element {
    width: 100%;
  }
  .calculator-container .content .package-container .pack-radio-element strong {
    font-size: 16px !important;
  }
}

.d-none {
  display: none !important;
}

/* MAIN CONTAINER — payment card */
.calc-card {
  width: 700px;
  line-height: 1.6 !important;
  max-width: 100%;
  background-color: #ffffff;
  padding: 10px 18px 18px 18px;
  color: #000000;
  border: 1px solid #000000;
  border-radius: 0;
  /* ----- individual line base style (left / right layout) ----- */
}
.calc-card .line-flex {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 8px 12px;
}
.calc-card .line-flex.line-center {
  justify-content: center !important;
}
.calc-card {
  /* left text style: word-break for long content */
}
.calc-card .line-left {
  flex: 1;
  font-weight: inherit;
  word-break: break-word;
}
.calc-card .line-right {
  text-align: right;
  font-weight: inherit;
  white-space: nowrap;
  flex-shrink: 0;
}
.calc-card {
  /* --- TITLE "A payer aujourd'hui" --- */
}
.calc-card .calc-card__title {
  font-size: 18px;
  font-weight: 600;
  color: #000000;
  margin-bottom: 16px;
  letter-spacing: -0.2px;
}
.calc-card {
  /* --- second line: Abonnement Premium mensuel pour 50 employés --- */
}
.calc-card .calc-card__subscription-main {
  font-size: 16px;
  font-weight: 500;
  margin-bottom: 0;
  /* creates exact 7px space before details block (as spec) */
}
.calc-card {
  /* --- DETAILS BLOCK (under second line) --- */
  /* container with 7px top spacing (small space) */
}
.calc-card .subscription-details {
  margin-left: 7px;
  margin-bottom: 20px;
}
.calc-card .subscription-details .detail-left {
  font-size: 14px;
  font-weight: 400;
}
.calc-card .subscription-details .detail-row {
  margin-bottom: 0 !important;
}
.calc-card {
  /* each detail row: font-size 15px, font-weight 500 (default) */
}
.calc-card .detail-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 8px 12px;
  font-size: 15px;
  font-weight: 500;
  margin-bottom: 6px;
}
.calc-card {
  /* third detail line (Sous-total abonnement) : font-weight 600 */
}
.calc-card .detail--bold {
  font-weight: 600 !important;
}
.calc-card .detail--thin {
  font-weight: 400 !important;
}
.calc-card {
  /*  */
}
.calc-card .calc-card__actions-line {
  width: 100%;
  display: flex;
  justify-content: center;
  margin-top: 40px;
  flex-wrap: wrap;
}
.calc-card .calc-card__actions-line button {
  width: 250px;
  margin: 5px;
}
.calc-card .detail-row .detail-left {
  flex: 1;
  word-break: break-word;
}
.calc-card .detail-row .detail-right {
  text-align: right;
  white-space: nowrap;
  flex-shrink: 0;
}
.calc-card {
  /* --- extra line: "Accompagnement Premium + 1er bouclement salaire" 
         same style as subscription-main (16px / weight 500) --- */
}
.calc-card .calc-card__extra-line {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 8px 12px;
  font-size: 16px;
  font-weight: 500;
  margin-top: 8px;
  margin-bottom: 16px;
}
.calc-card {
  /* --- green divider (3px height, #2bb476, 100% width) --- */
}
.calc-card .green-divider {
  width: 100%;
  height: 3px;
  background-color: #2bb476;
  margin: 12px 0 16px 0;
  border-radius: 2px;
}
.calc-card {
  /* --- Sous-total hors TVA line (16px/500, same as extra-line) --- */
}
.calc-card .calc-card__subtotal-line {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 8px 12px;
  font-size: 16px;
  font-weight: 500;
  margin-bottom: 10px;
}
.calc-card {
  /* --- TVA line (8.1%) 16px/500 --- */
}
.calc-card .calc-card__tax-line {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 8px 12px;
  font-size: 16px;
  font-weight: 500;
  margin-bottom: 14px;
}
.calc-card {
  /* --- FINAL TOTAL line: strong presence, 18px/600 like main title --- */
}
.calc-card .calc-card__total-line {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 8px 12px;
  font-size: 16px;
  font-weight: 600;
  color: #000000;
  padding-top: 14px;
  margin-top: 6px;
}
.calc-card {
  /* additional small improvements: spacing and hover readability */
}
.calc-card .calc-card__subscription-main,
.calc-card .detail-row,
.calc-card .calc-card__extra-line,
.calc-card .calc-card__subtotal-line,
.calc-card .calc-card__tax-line {
  transition: background 0.1s ease;
}
.calc-card {
  /* keep numbers consistent */
}
.calc-card .line-right,
.calc-card .detail-right {
  font-feature-settings: "tnum";
  font-variant-numeric: tabular-nums;
}
.calc-card {
  /* --------------------------------------------
       RESPONSIVE MODE (screen width ≤ 770px)
       - Optimized font sizes for readability on mobile
       - Preserve spacing & avoid overflow
    -------------------------------------------- */
}
@media (max-width: 770px) {
  .calc-card body {
    padding: 12px;
  }
  .calc-card .calc-card {
    padding: 12px;
  }
  .calc-card {
    /* Title slightly reduced but still legible */
  }
  .calc-card .calc-card__title {
    font-size: 17px;
    margin-bottom: 12px;
  }
  .calc-card {
    /* subscription main line */
  }
  .calc-card .calc-card__subscription-main {
    font-size: 15px;
    margin-bottom: 6px;
  }
  .calc-card {
    /* details rows (original 15px) -> on small screens 14px keeps balance */
  }
  .calc-card .detail-row {
    font-size: 14px;
    margin-bottom: 6px;
  }
  .calc-card {
    /* extra line (accompagnement) */
  }
  .calc-card .calc-card__extra-line {
    font-size: 15px;
    margin-top: 6px;
    margin-bottom: 12px;
  }
  .calc-card {
    /* subtotal / tva lines */
  }
  .calc-card .calc-card__subtotal-line,
  .calc-card .calc-card__tax-line {
    font-size: 15px;
    margin-bottom: 8px;
  }
  .calc-card {
    /* total line */
  }
  .calc-card .calc-card__total-line {
    font-size: 17px;
    padding-top: 12px;
    margin-top: 4px;
  }
  .calc-card {
    /* green divider margin adjustment */
  }
  .calc-card .green-divider {
    margin: 10px 0 14px 0;
  }
  .calc-card {
    /* ensure left text can wrap gracefully */
  }
  .calc-card .line-left,
  .calc-card .detail-left {
    white-space: normal;
    word-break: break-word;
  }
  .calc-card {
    /* price column remains nowrap but if extreme screen < 360px, allow wrapping? 
         better keep nowrap for price, but left side will wrap -> safe */
  }
  .calc-card .line-right,
  .calc-card .detail-right {
    white-space: nowrap;
  }
  .calc-card {
    /* extra gap protection for tight spaces */
  }
  .calc-card .subscription-details {
    margin-bottom: 16px;
  }
  .calc-card .calc-card__actions-line button {
    width: 100% !important;
  }
}
.calc-card {
  /* For very narrow devices (below 420px) small extra polish */
}
@media (max-width: 480px) {
  .calc-card .calc-card {
    padding: 10px;
  }
  .calc-card .calc-card__title {
    font-size: 16px;
  }
  .calc-card .calc-card__subscription-main,
  .calc-card .calc-card__extra-line,
  .calc-card .calc-card__subtotal-line,
  .calc-card .calc-card__tax-line {
    font-size: 14px;
  }
  .calc-card .detail-row {
    font-size: 13px;
  }
  .calc-card .calc-card__total-line {
    font-size: 16px;
  }
  .calc-card .line-right,
  .calc-card .detail-right {
    font-size: inherit;
  }
}

/* Loading spinner */
.calculator-loading {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 450px;
  /* Adjust to match the container height */
  width: 100%;
}
.calculator-loading::after {
  content: "";
  width: 40px;
  height: 40px;
  border: 4px solid #e7e7e7;
  border-top-color: #29b475;
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
.scroll-to-calc {
  cursor: pointer !important;
}/*# sourceMappingURL=nova-calculator-style.css.map */