/* CTA module styles */
.cta-section{
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(180deg,#0b0f13 0%, #0f1720 100%);
  color:#fff;
  text-align:center;
}
.cta-content{
  max-width:960px;
  padding:48px 24px;
}

/* Ensure CTA content fits within the viewport when used as a full-section
   Limit height on desktop so the section does not overflow the visible area */
.cta-section .cta-content{
  /* Reserve header height so CTA fits inside viewport */
  max-height: calc(100vh - var(--header-offset) - 32px);
  overflow: auto;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

/* Reduce double-padding caused by global .full-section + .section-inner
   and make CTA align nicely inside the viewport */
.cta-section{padding-top:0}
.cta-section .section-inner{padding-top:calc(var(--header-offset) / 2);padding-bottom:24px}
.cta-title{
  font-size:clamp(24px,4.5vw,40px);
  letter-spacing:-0.02em;
  margin-bottom:12px;
  font-weight:700;
}
.cta-subtitle{
  font-size:clamp(14px,2.2vw,18px);
  opacity:0.9;
  margin-bottom:24px;
}
.contact-form{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  justify-content:center;
  margin-bottom:14px;
}
.form-group{flex:1 1 220px;max-width:360px}
.form-group input,.form-group select{
  width:100%;
  padding:12px 14px;
  border-radius:8px;
  border:1px solid rgba(255,255,255,0.08);
  background:rgba(255,255,255,0.03);
  color:#fff;
  outline:none;
}
.form-group input:focus,.form-group select:focus{box-shadow:0 0 0 3px rgba(0, 188, 212, 0.12);border-color:#00BCD4}
.btn-cta-final{
  background:linear-gradient(90deg,#00aaff,#0055ff);
  color:#fff;padding:12px 20px;border-radius:10px;border:0;cursor:pointer;font-weight:700;box-shadow:0 8px 30px rgba(5,120,255,0.18)
}
.cta-guarantee{font-size:13px;opacity:0.85;margin-top:12px}

@media (max-width:720px){
  .cta-content{padding:36px 18px}
  .contact-form{flex-direction:column;align-items:stretch}
  .form-group{max-width:100%}
  .cta-section .cta-content{max-height:none;overflow:visible}
}

/* Ensure inputs align horizontally on wider screens (match index CTA) */
@media (min-width:721px){
  .contact-form{flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:center}
  .form-group{flex:0 1 320px;max-width:320px}
}
