/* =====================================
   FOOTER CONTACT — VERSIONE SEMPLIFICATA
   ===================================== */

.ct25-footer-contact{
  padding:18px 12px 24px;
  background:linear-gradient(180deg,#f7f9fd 0%, #eef3fb 100%);
  font-family:Arial,Helvetica,sans-serif;
}

.ct25-footer-contact .ct25-footer-contact-box{
  max-width:1180px;
  margin:0 auto;
  padding:34px 28px;
  border-radius:16px;
  border:1px solid #d9e5f7;
  background:linear-gradient(180deg,#ffffff 0%, #f6faff 100%);
  box-shadow:0 14px 34px rgba(16,36,84,.08);
}

.ct25-footer-contact .ct25-prefooter-contact-info{
  padding-right:28px;
}

.ct25-footer-contact .ct25-prefooter-kicker{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 16px;
  margin-bottom:14px;
  border-radius:999px;
  background:#edf3ff;
  border:1px solid #d7e3ff;
  color:#0b3cff;
  font-size:12px;
  font-weight:800;
  letter-spacing:1px;
  text-transform:uppercase;
}

.ct25-footer-contact .ct25-prefooter-title{
  margin:0 0 14px;
  color:#123f95;
  font-size:clamp(34px,4vw,56px);
  line-height:1.04;
  font-weight:800;
  letter-spacing:-1px;
}

.ct25-footer-contact .ct25-prefooter-title span{
  color:#e10600;
}

.ct25-footer-contact .ct25-prefooter-text{
  max-width:620px;
  margin:0 0 20px;
  color:#102f63;
  font-size:clamp(17px,1.2vw,22px);
  line-height:1.55;
}

.ct25-footer-contact .ct25-prefooter-text p{
  margin:0;
}

.ct25-footer-contact .ct25-prefooter-points{
  margin:0 0 24px;
  padding:0;
  list-style:none;
  display:grid;
  gap:10px;
}

.ct25-footer-contact .ct25-prefooter-point{
  position:relative;
  padding-left:18px;
  color:#123873;
  font-size:15px;
  font-weight:700;
  line-height:1.5;
}

.ct25-footer-contact .ct25-prefooter-point::before{
  content:"";
  position:absolute;
  left:0;
  top:9px;
  width:7px;
  height:7px;
  border-radius:50%;
  background:#ffd400;
}

.ct25-footer-contact .ct25-prefooter-quicklinks{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:center;
  justify-content:center;
  margin-top:12px;
}

.ct25-footer-contact .ct25-prefooter-quick{
  margin:0 !important;
  padding:0 !important;
}

.ct25-footer-contact .ct25-prefooter-quick .elementor-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:0 20px !important;
  border:none !important;
  border-radius:14px;
  font-size:14px;
  font-weight:800;
  line-height:1;
  text-align:center;
  white-space:nowrap;
  box-shadow:0 10px 22px rgba(0,0,0,.10);
}

.ct25-footer-contact .ct25-prefooter-mail .elementor-button{
  background:#2d6df6 !important;
  color:#fff !important;
}

.ct25-footer-contact .ct25-prefooter-wa .elementor-button{
  background:#18a957 !important;
  color:#fff !important;
}

.ct25-footer-contact .ct25-prefooter-phone .elementor-button{
  background:#1d43f5 !important;
  color:#fff !important;
}

.ct25-footer-contact .ct25-prefooter-formcard{
  max-width:520px;
  margin-left:auto;
  padding:18px;
  border:1px solid #dce7f6;
  border-radius:22px;
  background:#fff;
  box-shadow:0 16px 36px rgba(7,28,80,.08);
}

.ct25-footer-contact .ct25-form-mini-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:30px;
  padding:0 12px;
  margin-bottom:10px;
  border-radius:999px;
  background:linear-gradient(135deg,#0b3cff 0%, #062b71 100%);
  color:#fff;
  font-size:11px;
  font-weight:800;
  letter-spacing:.8px;
  text-transform:uppercase;
}

.ct25-footer-contact .ct25-prefooter-formcard .elementor-heading-title{
  margin-bottom:6px;
  color:#0d2d66;
}

.ct25-footer-contact .ct25-prefooter-formcard .elementor-widget-text-editor{
  margin-bottom:10px;
  color:#5b6f95;
  font-size:14px;
  line-height:1.5;
}

.ct25-footer-contact .ct25-prefooter-mini .elementor-form .elementor-field-group{
  margin-bottom:10px;
}

.ct25-footer-contact .ct25-prefooter-mini .elementor-form input:not([type="checkbox"]):not([type="radio"]),
.ct25-footer-contact .ct25-prefooter-mini .elementor-form select,
.ct25-footer-contact .ct25-prefooter-mini .elementor-form textarea{
  min-height:42px;
  padding:10px 12px;
  border-radius:10px;
  font-size:14px;
}

.ct25-footer-contact .ct25-prefooter-mini .elementor-form textarea{
  min-height:80px;
}

.ct25-footer-contact .ct25-prefooter-mini .elementor-form .elementor-button,
.ct25-footer-contact .ct25-prefooter-mini .elementor-form button[type="submit"]{
  min-height:44px;
  border-radius:12px;
  font-size:14px;
  font-weight:800;
}

/* MOBILE */
@media (max-width:767px){

  .ct25-footer-contact{
    padding:8px 10px 12px;
  }

  .ct25-footer-contact .ct25-footer-contact-box{
    padding:18px 12px;
    border-radius:14px;
  }

  .ct25-footer-contact .ct25-prefooter-contact-info{
    padding-right:0;
  }

  .ct25-footer-contact .ct25-prefooter-kicker{
    display:flex;
    width:max-content;
    margin:0 auto 10px;
    font-size:11px;
  }

  .ct25-footer-contact .ct25-prefooter-title{
    margin:0 0 12px;
    font-size:28px;
    text-align:center;
    line-height:1.06;
  }

  .ct25-footer-contact .ct25-prefooter-text,
  .ct25-footer-contact .ct25-prefooter-points{
    display:none;
  }

  .ct25-footer-contact .ct25-prefooter-quicklinks{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:8px;
    margin-top:4px;
  }

  .ct25-footer-contact .ct25-prefooter-quick{
    width:100%;
  }

  .ct25-footer-contact .ct25-prefooter-quick .elementor-button{
    width:100% !important;
    min-height:40px;
    padding:0 8px !important;
    border-radius:12px;
    font-size:12px;
  }

  .ct25-footer-contact .ct25-prefooter-formcard{
    max-width:none;
    margin-top:14px;
    margin-left:0;
    padding:12px;
    border-radius:18px;
  }

  .ct25-footer-contact .ct25-prefooter-formcard .elementor-widget-text-editor{
    display:none;
  }

  .ct25-footer-contact .ct25-prefooter-formcard .elementor-heading-title{
    font-size:18px;
    text-align:center;
    margin-bottom:4px;
  }

  .ct25-footer-contact .ct25-form-mini-badge{
    min-height:28px;
    margin-bottom:8px;
    font-size:11px;
  }

  .ct25-footer-contact .ct25-prefooter-mini .elementor-form label{
    font-size:12px;
  }

  .ct25-footer-contact .ct25-prefooter-mini .elementor-form input:not([type="checkbox"]):not([type="radio"]),
  .ct25-footer-contact .ct25-prefooter-mini .elementor-form select,
  .ct25-footer-contact .ct25-prefooter-mini .elementor-form textarea{
    min-height:40px;
    font-size:14px;
  }

  .ct25-footer-contact .ct25-prefooter-mini .elementor-form textarea{
    min-height:74px;
  }

  .ct25-footer-contact .ct25-prefooter-mini .elementor-form .elementor-button,
  .ct25-footer-contact .ct25-prefooter-mini .elementor-form button[type="submit"]{
    min-height:42px;
    font-size:13px;
  }
}