/* path: src/calc/static/calc/css/blocks/calculator_lead_cta.css */

/* =============================================================================
   Calculator Lead CTA
   ============================================================================= */

.CalcLeadCta{
  margin-top:var(--space-5);
}

.CalcLeadCta__inner{
  display:grid;
  gap:18px;
  padding:var(--space-4);
  border:1px solid var(--divider);
  border-radius:var(--r-m);
  background:var(--surface);
}

.CalcLeadCta__title{
  margin:0 0 8px;
  color:var(--text);
  font-size:1.34rem;
  line-height:1.08;
  letter-spacing:-.02em;
}

.CalcLeadCta__text{
  margin:0;
  color:var(--text-2);
  line-height:1.42;
}

.CalcLeadCta__list{
  margin:12px 0 0;
  padding:0;
  list-style:none;
  display:grid;
  gap:7px;
}

.CalcLeadCta__item{
  position:relative;
  padding-left:16px;
  color:var(--text-2);
  line-height:1.4;
}

.CalcLeadCta__item::before{
  content:"";
  position:absolute;
  left:0;
  top:.58em;
  width:5px;
  height:5px;
  border-radius:50%;
  background:var(--accent);
}

.CalcLeadCta__form{
  display:grid;
  gap:12px;
}

.CalcLeadCta__field{
  display:block;
}

.CalcLeadCta__label{
  display:block;
  margin:0 0 8px;
  color:var(--text-2);
  font-size:.95rem;
}

.CalcLeadCta__label--hidden{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0, 0, 0, 0);
  white-space:nowrap;
  border:0;
}

.CalcLeadCta__input{
  width:100%;
  min-height:var(--h-input);
  padding:0 16px;
  border:1px solid var(--divider-2);
  border-radius:var(--r-m);
  background:var(--surface-2);
  color:var(--text);
  font:inherit;
  outline:none;
  transition:
    border-color .15s ease,
    background .15s ease,
    box-shadow .15s ease;
}

.CalcLeadCta__input::placeholder{
  color:var(--text-3);
}

.CalcLeadCta__input:focus{
  border-color: var(--divider-2)
}

.CalcLeadCta__submit{
  width:100%;
}

/* =============================================================================
   Agreement checkbox — aligned with project pattern
   ============================================================================= */

.CalcLeadCta__check{
  position:relative;
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin:0;
  min-width:0;
  cursor:pointer;
}

.CalcLeadCta__checkInput{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.CalcLeadCta__checkBox{
  position:relative;
  width:18px;
  height:18px;
  flex:0 0 18px;
  margin-top:1px;
  border:1px solid var(--divider-2);
  background:var(--surface-2);
  border-radius:5px;
  transition:
    border-color .18s ease,
    background .18s ease,
    box-shadow .18s ease;
}

.CalcLeadCta__checkBox::after{
  content:"";
  position:absolute;
  left:5px;
  top:1px;
  width:5px;
  height:9px;
  border-right:2px solid #fff;
  border-bottom:2px solid #fff;
  transform:rotate(45deg) scale(.85);
  opacity:0;
  transition:
    opacity .16s ease,
    transform .16s ease;
}

.CalcLeadCta__checkInput:checked + .CalcLeadCta__checkBox{
  border-color:rgba(207,133,36,.42);
  background:rgba(207,133,36,.16);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.03);
}

.CalcLeadCta__checkInput:checked + .CalcLeadCta__checkBox::after{
  opacity:1;
  transform:rotate(45deg) scale(1);
}

.CalcLeadCta__checkInput:focus-visible + .CalcLeadCta__checkBox{
  border-color:var(--divider-3);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.03),
    0 0 0 3px rgba(207,133,36,.12);
}

.CalcLeadCta__check:hover .CalcLeadCta__checkBox{
  border:1px solid var(--divider-3);
  background:var(--surface-2);
}

.CalcLeadCta__checkInput:checked + .CalcLeadCta__checkBox,
.CalcLeadCta__check:hover .CalcLeadCta__checkInput:checked + .CalcLeadCta__checkBox{
  border-color:rgba(207,133,36,.42);
  background:rgba(207,133,36,.16);
}

.CalcLeadCta__checkText{
  min-width:0;
  color:var(--text-3);
  font-size:var(--small);
  line-height:1.35;
}

.CalcLeadCta__checkLink{
  color:var(--text-2);
  text-decoration:underline;
  text-underline-offset:2px;
}

/* =============================================================================
   Tablet
   ============================================================================= */

@media (min-width:768px){
  .CalcLeadCta__inner{
    grid-template-columns:minmax(0, 1.08fr) minmax(320px, .92fr);
    align-items:start;
    gap:22px;
  }

  .CalcLeadCta__title{
    margin-bottom:10px;
  }

  .CalcLeadCta__list{
    margin-top:14px;
  }

  .CalcLeadCta__form{
    gap:14px;
  }
}

/* =============================================================================
   Desktop
   ============================================================================= */

@media (min-width:1024px){
  .CalcLeadCta{
    margin-top:28px;
  }

  .CalcLeadCta__inner{
    gap:24px;
    padding:20px;
  }

  .CalcLeadCta__title{
    font-size:1.42rem;
  }

  .CalcLeadCta__text{
    max-width:58ch;
  }

  .CalcLeadCta__list{
    gap:8px;
  }

  .CalcLeadCta__formWrap{
    padding-top:2px;
  }

  .CalcLeadCta__check{
    align-items:flex-start;
    gap:10px;
  }

  .CalcLeadCta__checkText{
    display:block;
    min-width:0;
    max-width:52ch;
    font-size:.9rem;
    line-height:1.25;
  }

  .CalcLeadCta__checkBox{
    margin-top:0;
  }
}