.hidden {
  display: none !important;
}
.sec-title {
  font-size: 1.2rem;
}
.comm-para p {
  font-size: 0.9rem;
}

#cost-sections {
  min-height: 120vh;
}

#calculator img {
  height: auto;
  width: 100%;
}

.form-section form {
  margin: 0;
}

.form-section form .form-field {
  height: 56px;
  padding: 16px 20px;
  border: 1px solid #4d5566;
  color: #4d5566;
  border-radius: 12px;
}

.form-title {
  font-size: 1.5rem;
  font-weight: 300;
  margin: 0.5rem;
}
.form-para {
  font-weight: 200;
  margin: 0.5rem;
}

.result-btn-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1.5rem;
  margin: 1.5rem 0;
}

.btn-wrap {
  display: flex;
  flex-direction: column;
}

#action-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
}

.action-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  /* padding: 0.5rem 0.8rem; */
  border: 0;
  background: var(--clr-primary);
  border-radius: 10px;
  color: var(--clr-white);

  min-width: 200px;
  height: fit-content;
  line-height: 46px;
  padding: 0 24px;
  font-size: 16px;
  font-weight: 500;
  text-align: center;
}
.action-btn:disabled {
  filter: grayscale();
}

#action-btn i,
.action-btn i {
  font-size: 1.6rem;
}

.options-wrapper {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
  margin: 2rem 0;
}

.option-wrap {
  position: relative;
  overflow: hidden;
  aspect-ratio: 1/1;
  width: 100%;
  object-fit: cover;
  border-radius: 10px;
  border: 2px solid rgba(29, 67, 141, 0.4);
  box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
  transition: all 800ms ease-in-out;
  cursor: pointer;
  container-type: inline-size;
}

.option-wrap img {
  margin: 50%;
  transform: translate(-50%, -50%);
  transition: all 800ms ease-in-out;
  opacity: 1;
  filter: grayscale();
}

.option-wrap .option-title {
  z-index: 10;
  position: absolute;
  background: var(--clr-lBlue);
  width: 100%;
  height: fit-content;
  bottom: 0;
  color: var(--clr-primary);
  font-size: clamp(0.8rem,5cqw,1.2rem);
  font-weight: 300;
  text-align: center;
  padding: 0.5rem;
  text-transform: uppercase;
  transition: all 800ms ease-in-out;
}

.option-wrap:hover {
  background: linear-gradient(
    to right,
    var(--clr-primary) 0,
    #fff 10%,
    var(--clr-primary) 20%
  );
  background-position: 0;
  animation: shine 3s infinite ease-in-out;
  animation-fill-mode: forwards;
}
@keyframes wiggle {
  0% {
    transform: rotate(0deg);
  }
  25% {
    transform: rotate(1deg);
  }
  50% {
    transform: rotate(-1deg);
  }
  75% {
    transform: rotate(1deg);
  }
  100% {
    transform: rotate(0deg);
  }
}
@-moz-keyframes shine {
  0% {
    background-position: 0;
  }
  60% {
    background-position: 300px;
  }
  100% {
    background-position: 300px;
  }
}
@-webkit-keyframes shine {
  0% {
    background-position: 0;
  }
  60% {
    background-position: 300px;
  }
  100% {
    background-position: 300px;
  }
}
@-o-keyframes shine {
  0% {
    background-position: 0;
  }
  60% {
    background-position: 300px;
  }
  100% {
    background-position: 300px;
  }
}
@keyframes shine {
  0% {
    background-position: 0;
  }
  60% {
    background-position: 300px;
  }
  100% {
    background-position: 300px;
  }
}

.option-wrap.selected {
  border: 2px solid rgba(29, 67, 141, 1);
}

.option-wrap:hover img,
.option-wrap.selected img {
  filter: none;
}

.option-wrap.selected::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  z-index: 5;
  background: rgba(255, 255, 255, 0.1);
  /* backdrop-filter: contrast(2); */
}

.option-wrap:hover .option-title {
  font-size: clamp(0.8rem,8cqw,1.2rem);
}
.option-wrap.selected .option-title {
  font-size: clamp(0.8rem,8cqw,1.2rem);
  background: var(--clr-primary);
  color: var(--clr-lBlue);
}

#result canvas {
  border-radius: 10px;
}

.formfirstName {
  text-transform: capitalize;
  color: var(--clr-primary);
  font-weight: 600;
}
.result-para {
  line-height: 1.8rem;
}
.highlight {
  color: var(--clr-primary);
  font-weight: 600;

  /* text-decoration: underline solid var(--clr-primary);
  text-underline-offset: 5px; */

  /* background: var(--clr-primary);
  color: var(--clr-lBlue); */
  padding: 0 0.2rem;
  transition: all 800ms ease-in-out;
}

.highlight:hover {
  background: var(--clr-primary);
  color: var(--clr-white);
  border-radius: 5px;
}

.result-summary-wrappper {
  /* background: var(--clr-lBlue); */
  padding: 1.5rem;
  border: 1px solid;
  border-radius: 10px;
}

.result-summary-title {
  font-size: 1.2rem;
  font-weight: 600;
  text-align: center;
  margin: 0.5rem 0;
  /* color: var(--clr-primary); */
  /* text-decoration: underline;
  text-underline-offset: 5px; */
}

.result-main-wrap {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin: 1rem 0;
  min-height: 90vh;
}

.result-breakdown {
  border: 1px solid;
  border-radius: 10px;
  padding: 0.5rem 0;
}

.expense-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.2rem 1.5rem;
}

.result-card {
  border-radius: 20px;
  border: 2px solid transparent;
  background: linear-gradient(#c6d3e3, #c6d3e3) padding-box,
    linear-gradient(194deg, #c6d3e3, #e8edf4, #c6d3e3) border-box;
  padding: 1rem 1.2rem;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
  margin-top: 16px;
  text-transform: capitalize;
  font-weight: 500;
}

.result-divider {
  border: 1px solid;
  margin: 1.5rem 2rem;
}

.info-msg {
  color: var(--input-error);
  text-align: center;
  margin: 2rem 0;
}

.error-field {
  border: 1px solid var(--input-error);
}

.calculator-content-wrap {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  margin-top: 2rem;
}

.calculator-sticky-div {
  position: relative;
  height: 100%;
}
.calculator-img {
  position: sticky;
  top: calc(var(--header-height) + 30px);
}

.benefit-img-wrap,
.benefit-content {
  width: 100%;
}
.calculator-box {
  padding: 1.8rem;
  margin-bottom: 40px;
  border-radius: 44px;
  border: 2px solid transparent;
  background: linear-gradient(#ffffff, #ffffff) padding-box,
    linear-gradient(200deg, #c6d3e3, #ffffff, #dde5ee) border-box;
}
.calculator-count {
  color: #fff;
  -webkit-text-fill-color: white;
  -webkit-text-stroke: 2px #ff4524;
  font-size: 45px;
  font-weight: 600;
}
.calculator-title {
  font-size: 1.3rem;
  font-weight: 600;
  color: var(--clr-secndry);
  margin-bottom: 16px;
  text-transform: capitalize;
}

.list-section {
  padding: 1.5rem 0;
}

.list-section li {
  color: #4d5566;
  font-size: 1rem;
  /* text-transform: capitalize; */
  display: flex;
  align-items: flex-start;
}

.list-section li::before {
  content: "·";
  font-size: 38px;
  vertical-align: middle;
  line-height: 20px;
  padding-right: 10px;
  margin-top: 4px;
}

@media screen and (min-width: 1080px) {
  .sec-title {
    font-size: 2.5rem;
  }
  .comm-para p {
    font-size: 1rem;
  }

  .form-section form {
    margin: 2rem 10rem 0;
  }
  .form-title {
    font-size: 2.5rem;
    margin: 1rem 2rem;
  }
  .form-para {
    margin: 1rem 2rem;
  }

  .options-wrapper {
    grid-template-columns: repeat(4, 1fr);
    margin: 2rem;
  }

  .option-wrap .option-title {
    font-size: clamp(0.8rem,15cqi,1.1rem);
  }
  .option-wrap:hover .option-title {
    font-size: clamp(0.8rem,20cqi,1.2rem);
  }
  .option-wrap.selected .option-title {
    font-size: clamp(0.8rem,20cqi,1.2rem);
  }


  .result-summary-wrappper {
    padding: 2.5rem;
  }
  .result-main-wrap {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 5rem;
  }

  .result-summary-title {
    font-size: 1.5rem;
    text-align: left;
  }

  .result-card {
    padding: 1rem 2.5rem;
    flex-direction: row;
  }

  .result-btn-wrap,
  .btn-wrap {
    flex-direction: row;
  }

  .expense-item {
    padding: 0.2rem 2.5rem;
  }

  .calculator-content-wrap {
    flex-direction: row;
    margin-top: 6rem;
  }

  .calculator-img-wrap {
    display: block;
    width: 40%;
  }

  .calculator-content {
    width: 50%;
  }
  .calculator-box {
    padding: 3.8rem;
  }
  .calculator-title {
    font-size: 1.5rem;
  }
}
