/* Lead Hero Form Dedicated Styles */
/* Layout overrides for compact hero-form */
.hero-form-box.hero-box{height:auto !important;min-height:unset !important;padding:110px 0 120px;}
.hero-form-text{position:relative !important;left:auto !important;right:auto !important;top:auto !important;bottom:auto !important;opacity:1 !important;filter:none !important;animation:none !important;overflow:visible;}
.hero-form-text .hero-form-inner{max-width:840px;margin:0 auto;text-align:left;}
.hero-form-text .hero-form-title-sm,.hero-form-text .hero-form-sub-sm{max-width:622px;margin-left:auto;margin-right:auto;}
.hero-form-text .hero-form-title-sm{color:var(--CG-colors-Grey-White,#FFF);text-align:center;font-family:var(--Typography-font-family-title,'Space Grotesk');font-size:40px;font-style:normal;font-weight:500;line-height:44px;margin:0 auto 28px;}
.hero-form-sub-sm{font-size:18px;max-width:620px;margin:0 auto 34px;opacity:.85;}
.hero-form-wrapper--compact .lead-form-box{margin:0 auto;max-width:628px;width: 100%;}
@media (max-width:680px){.hero-form-box.hero-box{padding:80px 0 90px;}.hero-form-text .hero-form-title-sm{font-size:40px;}}

/* Lead form structure */
.lead-form-box { position:relative; padding:0; border:none; background:transparent; max-width:880px; margin:0 auto; }
.lead-form-box.is-flat { box-shadow:none; }
.lead-grid { display:grid; grid-template-columns:repeat(12,1fr); column-gap:20px; row-gap:18px; }
.lead-grid .field-full { grid-column:1 / span 12; }
.lead-grid .field-half { grid-column: span 6; }
.lead-grid .has-avatar { position:relative; }
.lead-avatar { position:absolute; top:66px; right:8px; width:48px; height:48px; background:#6b42ff; border:3px solid #fff; border-radius:50%; font-weight:700; display:flex; align-items:center; justify-content:center; color:#fff; font-size:20px;}
@media (max-width:880px){ .lead-grid .field-half { grid-column:1 / span 12; } .lead-avatar { top:65px; } }

/* Labels */
.fld-label { 
  color: var(--CG-colors-Grey-White, #FFF);
  font-family: var(--Typography-font-family-body, Montserrat);
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 21px; /* 150% */
  margin: 0 0 6px;
  display: block;
}
.fld-label span { color:#C6FF1A; }

/* Inputs */
.lead-form-box .form-control, .lead-form-box textarea {
  display:inline-flex;
  width:100%;
  padding:8px 15px;
  align-items:center;
  gap:10px;
  border-radius:8px;
  border:1px solid var(--CG-colors-Highlights-White-30, rgba(255,255,255,0.30));
  background:rgba(255,255,255,.02);
  color:#fff;
  font-size:15px;
  font-weight:500;
  line-height:1.3;
}
.lead-form-box .form-control::placeholder, .lead-form-box textarea::placeholder { color:#6F88B7; font-weight:400; }
.lead-form-box textarea { min-height:140px; resize:vertical; }
.lead-form-box .form-control:focus, .lead-form-box textarea:focus { outline:none; border-color:#C6FF1A; background:rgba(255,255,255,.05); }

/* Pills */
.help-block-area { margin:22px 0 6px; }
.help-label { font-size:11px; text-transform:uppercase; letter-spacing:.55px; opacity:.8; margin-bottom:10px; font-weight:600; color:#89A9D8; }
.pill-row { display:flex; flex-wrap:wrap; gap:6px 8px; }
.pill-w input { display:none; }
.tag-pill {
    display:flex;
    padding:4px 8px;
    justify-content:center;
    align-items:center;
    gap:10px;
    border-radius:4px;
    border:1px solid var(--CG-colors-Highlights-White-30, rgba(255,255,255,0.30));
    background:transparent;
    color: var(--CG-colors-Grey-White, #FFF);
    /* Caption 2 - medium */
    font-family: var(--Typography-font-family-caption, Montserrat);
    font-size: 12px;
    font-style: normal;
    font-weight: 500;
    line-height: 18px; /* 150% */
    cursor: pointer;
    transition: background .25s, border-color .25s, box-shadow .25s;
}
.tag-pill:hover { border-color:#C6FF1A; background: rgba(255,255,255,0.02); }
.pill-w input:checked + .tag-pill { background: #C6FF1A;
    border-color: #C6FF1A;
    color: #000 !important; }
.tag-pill.is-on { background:#132A5A; border-color:#C6FF1A; }

/* Submit */
.hero-submit-btn { background:#C6FF1A; color:#02224F; border:0; border-radius:6px; padding:14px 32px; font-weight:600; font-size:15px; cursor:pointer; width:auto; display:inline-flex; align-items:center; gap:8px; margin:34px auto 0; transition:.25s; letter-spacing:.25px; }

.hero-form-wrapper--compact .lead-form-box .submit-row{margin-top:6px;display: flex;}
.hero-form-wrapper--compact .lead-form-box .hero-submit-btn{margin-top:18px;}

/* Status messages */
.lead-msg { text-align:center; margin-top:18px; font-size:14px; font-weight:600; min-height:22px; }
.lead-msg.success { color:#C6FF1A; }
.lead-msg.error { color:#FF6F6F; }
/* Errori campo */
.lead-form-box .form-control.has-error, .lead-form-box textarea.has-error { border-color:#FF6F6F; box-shadow:0 0 0 2px rgba(255,111,111,.25); }
.lead-field-error{color:#FF6F6F;font-size:12px;font-weight:500;margin:4px 0 0 2px;line-height:1.3;}
.h-full.top{
    top: 100px !important;
}
.h-full.bottom {
    top: 877px !important;
}
.v-line.v-right-down{
    top: 0px !important;
    height: 100% !important;
}
.v-line.v-left-up {
    top: 0px !important;
    height: 100% !important;
}
.hero-box.hero-open::after {
    top: 10% !important;
}
.hero-box.hero-open .h-full.top{
      width: var(--v-right);
}
.hero-box.hero-open .h-full.bottom{
      width: var(--v-right);
    right: 0;
    left: auto;
}
.form-control:focus {
    color: #fff !important;
}

/* Position CTA graphic absolute bottom-left inside hero-form (reuse cta-hp styles) */
.hero-form-box .cta-hp-graphic {
    position: absolute;
    left: 28px;
    bottom: 20%;
    width: 370px;
    height: auto;
    pointer-events: none;
    opacity: 0;
    transform: translateY(6px);
    transition: opacity .45s ease, transform .45s ease;
    z-index: 3;
}
.hero-form-box.hero-open .cta-hp-graphic { opacity: 1; transform: translateY(0); }
.hero-form-box .cta-hp-graphic .cta-hp-graphic-inner { display:block; }
.hero-form-box .cta-hp-graphic svg { width:100%; height:auto; display:block; }

@media (max-width:900px){
    .hero-form-box .cta-hp-graphic { left: 18px; width:160px; bottom: 12px; }
}
@media (max-width:1400px) {
  .hero-form-box .cta-hp-graphic { width: 300px; }
}

@media (max-width:1270px) {
  .hero-form-box .cta-hp-graphic { display: none; }
}
.hero-form-band{
    border-top: none !important;
}
.pill-w span {

/* Also apply same rules when viewport height is small (e.g. landscape tablets) */
@media (max-height:668px) {
  .hero-form-box .cta-hp-graphic { height: 300px; }
}

@media (max-height:668px) and (max-width:1270px) {
  .hero-form-box .cta-hp-graphic { display: none; }
}
    color: white !important;
}
.submit-row .btn-trasparente-lime{
  background: #C4F222;
}
.submit-row .hc-cta--aroad .hc-cta__label {
    color: rgba(0, 0, 0, 1) !important;
}
.lead-form-box.hero-open .hero-submit-btn:hover { background: transparent !important; color: #fff !important; }
.lead-form-box.hero-open .hero-submit-btn:hover .hc-cta__label { color: #fff !important; }
.lead-form-box.hero-open .hero-submit-btn:hover .submit-row .btn-trasparente-lime:hover {
  background: transparent !important;
}
.hero-text{
  width: 670px;
}

/* --- responsive overrides added by agent: lead-hero-form view --- */
@media (max-width: 768px) {
  .lead-hero-form { padding: 12px; }
  .lead-hero-form .form-row { display:block; }
}
@media (min-width: 350px) and (max-width: 550px) {
  .lead-hero-form .input { width: 100%; }
}