.hre-estimate-tool { 
  max-width: 480px;
  box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 24px;
  background: rgb(255, 255, 255);
  border-radius: 10px;
  overflow: hidden;
}
.hre-upper-container{
  padding: 24px 28px;
  padding-bottom: 0;
}
.hre-green-span{
  font: 700 11px Manrope, sans-serif;
  letter-spacing: 0.08em;
  color: rgb(91, 156, 47);
  text-transform: uppercase;
  margin-bottom: 8px;
}
.hre-green-span-dark-background{
  color: rgb(139, 198, 67);
}
.hre-title{
  font: 600 20px / 1.25 "Space Grotesk", sans-serif;
  color: rgb(17, 17, 17);
  margin-bottom: 14px;
}
.hre-helper{
  font: 12px Manrope, sans-serif;
  color: rgb(138, 138, 138);
}
.hre-form > .hre-field{
  margin-top: 10px;
}
.hre-fields-get-estimate{
  display: flex;
  flex-direction: column;
  background: rgb(31, 31, 31);
  padding: 24px 28px;
}
.hre-currently-selected-container{
  font: 600 18px "Space Grotesk", sans-serif;
  color: rgb(255, 255, 255);
  margin-bottom: 4px;
}
.hre-need-more-details{
  font: 12px Manrope, sans-serif;
  color: rgb(207, 207, 207);
  margin-bottom: 16px;
}
.hre-fields-container{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-bottom: 16px;
}
.hre-field label {
  display: block;
  font: 500 12px Manrope, sans-serif;
  color: rgb(207, 207, 207);
  margin-bottom: 5px;
}
.hre-field input { 
  background: rgb(255, 255, 255);
  border-radius: 8px;
  padding: 9px 12px;
  font: 500 13px Manrope, sans-serif;
  color: rgb(51, 51, 51);
}
.hre-submit { 
  display: inline-block;
  border: none;
  background: rgb(139, 198, 67);
  color: #333;
  font: 700 13px Manrope, sans-serif;
  padding: 11px 30px;
  border-radius: 16px; 
}
.hre-submit:hover,
.hre-submit:focus{
  background: rgb(121, 168, 64);
  color: #333;
}
.hre-error { color: #b32d2e; margin-top: 1rem; }

/* Size option cards — bare-minimum functional layout (image, then title, then
   description, in that order) and a click target. Intentionally undecorated
   beyond that; meant to be restyled. */
.hre-size-cards {
  display: flex;
  gap: 12px;
  margin-bottom: 20px;
}
.hre-size-card {
  flex: 1 1 0%;
  border: 1px solid rgb(229, 229, 229);
  border-radius: 10px;
  overflow: hidden;
  position: relative;
}
.hre-size-card.is-selected {
  outline: 1px solid rgb(139, 198, 67);
  border-color: rgb(139, 198, 67);
  box-shadow: rgb(242, 249, 236) 0px 0px 0px 3px;
}
.hre-size-card-check {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgb(255, 255, 255);
  border-radius: 50%;
  box-shadow: rgba(0, 0, 0, 0.15) 0px 1px 4px;
  color: rgb(91, 156, 47);
  opacity: 0;
  transform: scale(0.6);
  transition: opacity 0.2s ease, transform 0.2s ease;
}
.hre-size-card-check svg {
  width: 15px;
  height: 15px;
}
.hre-size-card.is-selected .hre-size-card-check {
  opacity: 1;
  transform: scale(1);
}
.hre-size-card-input {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}
.hre-size-card .hre-size-card-image {
  width: 100%;
  height: 128px;
  display: flex;
  align-items: center;
  justify-content: center;
  object-fit: cover;
  font: 11px ui-monospace, Menlo, monospace;
  color: rgb(154, 146, 128);
}
.hre-size-card-bottom{
  padding: 10px 12px;
}
.hre-size-card-bottom-top{
  display: flex;
  justify-content: space-between;
  margin-bottom: 4px;
}
.hre-size-card-title {
  font: 600 13px "Space Grotesk", sans-serif;
  color: rgb(17, 17, 17);
  margin: 0;
}
.hre-size-card-price{
  font: 600 13px "Space Grotesk", sans-serif;
  color: rgb(51, 51, 51);
  margin: 0;
}
.hre-size-card.is-selected .hre-size-card-price{
  color: rgb(91, 156, 47);
}
.hre-size-monthly{
  font: 11px Manrope, sans-serif;
  color: rgb(138, 138, 138);
}
.hre-size-card-description {
  font: 12px Manrope, sans-serif;
  color: rgb(51, 51, 51);
}


.hre-result{
  padding: 24px 28px 28px;
}
.hre-result.hre-result-animate-in{
  animation: hre-result-fade-in 0.4s ease both;
}
@keyframes hre-result-fade-in{
  from{
    opacity: 0;
    transform: translateY(14px);
  }
  to{
    opacity: 1;
    transform: translateY(0);
  }
}

.hre-results-selected-options{
  font: 12px Manrope, sans-serif;
  color: rgb(51, 51, 51);
  margin-bottom: 14px;
}

.hre-result-card-container{
  display: flex;
  gap: 12px;
  margin-bottom: 14px;
}

.hre-result-card-container > div{
  flex: 1 1 0%;
  border-radius: 10px;
  padding: 16px;
  text-align: center;
}

.hre-result-card-predue{
  border: 1px solid rgb(229, 229, 229);
}

.hre-result-card-due{
  border: 1px solid rgb(139, 198, 67);
  background: rgb(242, 249, 236);
}

.hre-result-card-title{
  font: 500 12px Manrope, sans-serif;
  color: rgb(51, 51, 51);
  margin-bottom: 4px;
}
.hre-result-card-title.hre-due{
  color: rgb(74, 122, 38);
}
.hre-result-card-price{
  font: 600 26px "Space Grotesk", sans-serif;
  color: rgb(17, 17, 17);
  margin-bottom: 0;
}
.hre-result-card-price.hre-due{
  color: rgb(91, 156, 47);
}

.hre-result-card-desc{
  font: 11px Manrope, sans-serif;
  color: rgb(138, 138, 138);
  margin-top: 2px;
  margin-bottom: 0;
}
.hre-result-card-desc.hre-due{
  color: rgb(106, 154, 74);
}
.hre-disclaimer{
  text-align: center;
  font: 12px Manrope, sans-serif;
  color: rgb(138, 138, 138);
  margin-bottom: 6px;
}
.hre-result .hre-breakdown-button{
  display: inline-flex;
  align-items: center;
  gap: 4px;
  text-align: center;
  font: 700 12px Manrope, sans-serif;
  color: rgb(17, 17, 17);
  cursor: pointer;
}
.hre-result a.hre-breakdown-button:not([href]):not([tabindex]){
  text-decoration: underline;
}
.hre-breakdown-arrow{
  display: inline-flex;
  transition: transform 0.3s ease;
}
.hre-breakdown-arrow svg{
  width: 14px;
  height: 14px;
}
.hre-breakdown-button.is-open .hre-breakdown-arrow{
  transform: rotate(180deg);
}
.hre-line-breakdown-container{
  text-align: center;
  border: 1px solid rgb(229, 229, 229);
  border-radius: 10px;
  padding: 14px 16px;
}

/* Collapsible breakdown — a grid-rows transition animates the open/close
   smoothly without needing JS to measure content height; the inner wrapper
   clips the content while the outer track is 0fr (collapsed). */
.hre-breakdown-content{
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.3s ease;
}
.hre-breakdown-content.is-open{
  grid-template-rows: 1fr;
  margin-top: 8px;
}
.hre-breakdown-content-inner{
  overflow: hidden;
}
.hide{
  display: none;
}
.hre-get-started-container{
  text-align: center;
}
.hre-result .hre-request-rental-button{
  display: inline-block;
  background: rgb(139, 198, 67);
  color: rgb(255, 255, 255);
  font: 700 13px Manrope, sans-serif;
  padding: 11px 26px;
  border-radius: 16px;
  margin-top: 18px;
}

.hre-breakdown > li,
.hre-total-breakdown > li{
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}
.hre-breakdown{
  padding-left: 0;
  margin-top: 8px;
}
.hre-total-breakdown{
  border-top: 1.5px solid rgb(17, 17, 17);
  margin-top: 6px;
  padding-top: 8px;
  padding-left: 0;
}

.hre-breakdown li{
  padding: 6px 0px;
  border-bottom: 1px dashed rgb(229, 229, 229);
  font: 12px Manrope, sans-serif;
  color: rgb(51, 51, 51);
}
.hre-breakdown li:last-child{
  border-bottom: 0 none transparent;
}
.hre-breakdown li .hre-price{
  font-weight: 600;
}
.hre-total-breakdown span{
  font: 600 13px "Space Grotesk", sans-serif;
  color: rgb(51, 51, 51);
}
.hre-total-breakdown .hre-breakdown-total .hre-price{
  color: rgb(91, 156, 47);
}