
/* Fabio Lombardo - contact form */
.fl-contact-form-wrap{max-width:780px;margin:clamp(25px,4vw,60px) 0 35px}
.fl-contact-form{display:grid;gap:24px}.fl-contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.fl-contact-form label{display:grid;gap:9px;font-size:13px;letter-spacing:.02em}
.fl-contact-form input:not([type=checkbox]),.fl-contact-form textarea{font:inherit;width:100%;box-sizing:border-box;border:0;border-bottom:1px solid currentColor;border-radius:0;background:transparent;color:inherit;padding:14px 2px;outline-offset:4px}
.fl-contact-form textarea{resize:vertical;min-height:125px}
.fl-contact-form .fl-contact-privacy{display:flex;align-items:flex-start;gap:12px;font-size:12px;line-height:1.55}
.fl-contact-form .fl-contact-privacy input{margin-top:3px;accent-color:currentColor}
.fl-contact-submit{justify-self:start;border:1px solid currentColor;border-radius:32px;padding:13px 23px;background:transparent;color:inherit;cursor:pointer;font:inherit;font-size:13px}
.fl-contact-submit:hover{opacity:.72}.fl-contact-trap{position:absolute!important;left:-99999px!important;width:1px;height:1px;overflow:hidden}.fl-contact-status{margin:0 0 20px;font-size:15px}
@media(max-width:650px){.fl-contact-fields{grid-template-columns:1fr}}
.fl-contact-captcha{max-width:100%;overflow:visible;min-height:79px}
.fl-contact-captcha .g-recaptcha{transform-origin:top left}
@media(max-width:340px){.fl-contact-captcha .g-recaptcha{transform:scale(.88);height:70px}}

/* Patch 21: conferma ben visibile al posto del modulo dopo l'invio. */
.fl-contact-success{
  display:flex;
  align-items:center;
  gap:clamp(18px,3vw,32px);
  border-top:1px solid currentColor;
  border-bottom:1px solid currentColor;
  padding:clamp(28px,5vw,60px) 0;
}
.fl-contact-success-mark{
  flex:0 0 clamp(56px,7vw,84px);
  width:clamp(56px,7vw,84px);
  height:clamp(56px,7vw,84px);
  display:grid;
  place-items:center;
  border:1px solid currentColor;
  border-radius:50%;
  font-size:clamp(25px,3vw,40px);
  line-height:1;
}
.fl-contact-success-text{
  margin:0;
  font-size:clamp(27px,4vw,54px);
  line-height:1.15;
  font-weight:650;
  letter-spacing:-.045em;
}
/* Il comando di scroll della hero viene centrato e non si sovrappone
   al badge reCAPTCHA v3, che resta nell'angolo in basso a destra. */
@media(min-width:761px){
  /* Tre colonne: descrizione a sinistra e pulsante al centro, entrambi nel flusso. */
  .hero .hero-bottom{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
    align-items:end;
    gap:20px;
  }
  .hero .hero-description{grid-column:1;grid-row:1;min-width:0}
  .hero .scroll-indicator{
    position:static;
    grid-column:2;
    grid-row:1;
    justify-self:center;
    align-self:end;
    transform:none;
  }
}
@media(max-width:760px){
  .hero .scroll-indicator{justify-content:center;gap:clamp(12px,3vw,24px)}
  .site-footer .back-top{grid-column:1 / -1;justify-self:center;text-align:center}
}
@media(max-width:520px){
  .fl-contact-success{flex-direction:column;align-items:flex-start;gap:22px}
}
