/* =====================================================================
   Form: Contact Form 7 (markup del tema, vedi docs/FORM-CF7.md) e newsletter MailUp
   Campi con il solo bordo inferiore sabbia, pulsante oliva.
   ===================================================================== */
.form{margin-top:1.4vw;display:grid;grid-template-columns:1fr 1fr;gap:1.2vw 2.2vw}
.form__full{grid-column:1/-1}
.form input[type=text],.form input[type=tel],.form input[type=email],.form textarea,
#mpwp-container input[type=text],#mpwp-container input[type=tel],#mpwp-container input[type=email],#mpwp-container input[type=number]{width:100%;box-sizing:border-box;background:transparent;border:0;border-radius:0;border-bottom:1px solid var(--ts-sand);color:var(--ts-sand-light);font:300 var(--fs-text)/1.6 var(--ts-body);padding:.5vw .6vw;margin:0}
.form textarea{min-height:5.6vw;resize:vertical;display:block}
.form ::placeholder,#mpwp-container ::placeholder{color:var(--ts-sand);opacity:.85}
.form .wpcf7-form-control-wrap{display:block}
.form__check,.form__check label{display:flex;align-items:center;gap:.5vw;font-size:var(--fs-text);color:var(--ts-sand);cursor:pointer}
.form__check .wpcf7-list-item{margin:0}
.form__actions{grid-column:1/-1;display:flex;align-items:center;gap:1.5vw;flex-wrap:wrap}
.form__actions .btn{width:24%;text-align:center;padding-inline:0;font-size:var(--fs-btn-sm)}
.form__note,.wpcf7 form .wpcf7-response-output{font-size:var(--fs-text);color:var(--ts-olive);margin:0;padding:0;border:0}
.wpcf7-not-valid-tip{display:block;font-size:calc(var(--fs-text) * .9);color:var(--ts-lavender);margin-top:.3em}
.wpcf7-spinner{display:none}
.wpcf7 form.submitting .form__actions .btn{opacity:.6}
.screen-reader-response{position:absolute;overflow:hidden;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;width:1px;margin:-1px;padding:0;border:0}
.wpcf7 .hidden-fields-container,.wpcf7 fieldset.hidden-fields-container{display:none}

/* Form stretto nelle pagine divise: pulsante con il suo testo */
.form--narrow .form__actions .btn{width:auto;padding-inline:4em}

/* Caricamento CV */
.form__file{display:flex;align-items:center;gap:1vw;flex-wrap:wrap;font:400 var(--fs-label)/1.4 var(--ts-body);color:var(--ts-sand-light);border-bottom:1px solid var(--ts-sand);padding:.6vw .6vw;cursor:pointer;position:relative}
.form__file input{position:absolute;width:1px;height:1px;opacity:0}
.form__file-label::before{content:"+";margin-right:.6em;color:var(--ts-olive)}
.form__file-name{font-style:normal;color:var(--ts-olive);font-size:var(--fs-text)}
.form__file:focus-within{outline:2px solid var(--ts-lavender);outline-offset:3px}

/* Newsletter MailUp: stesso aspetto dei form CF7 */
#mpwp-container #mupwp-form-title,#mpwp-container #mupwp-form-description,#mpwp-container .separator-20px-top{display:none}
#mpwp-container #mupwp-form{margin-top:1.4vw}
#mpwp-container #mupwp-form-fields{display:grid;grid-template-columns:1fr 1fr;gap:1.2vw 2.2vw}
#mpwp-container .mupwp-form-field{margin:0}
#mpwp-container .mupwp-form-field label{display:none}
#mpwp-container .mupwp-form-terms{margin-top:1.2vw}
#mpwp-container .mupwp-form-term{margin:0}
#mpwp-container .label.terms,#mpwp-container .label.terms.small-font{display:flex;align-items:center;gap:.5vw;font:300 var(--fs-text)/1.8 var(--ts-body);color:var(--ts-sand)}
#mpwp-container .label.terms p{margin:0}
#mpwp-container #mupwp-form-submit-container{display:flex;align-items:center;gap:1.5vw;margin-top:1.2vw}
#mpwp-container #mupwp-form-save{box-sizing:border-box;width:24%;background:var(--ts-olive);color:var(--ts-black);text-transform:uppercase;font:300 var(--fs-btn-sm)/1 var(--ts-body);padding:1em 0;border:0;border-radius:0;cursor:pointer;transition:background .3s}
#mpwp-container #mupwp-form-save:hover,#mpwp-container #mupwp-form-save:focus-visible{background:var(--ts-sand)}
#mpwp-container .feedback{font-size:var(--fs-text);color:var(--ts-olive)}
#mpwp-container .ajax-loader:not(.active){display:none}
#mpwp-container span.error{display:block;font-size:calc(var(--fs-text) * .9);color:var(--ts-lavender)}

@media (max-width:767px){
  .form,#mpwp-container #mupwp-form-fields{grid-template-columns:1fr;gap:4vw}
  .form input[type=text],.form input[type=tel],.form input[type=email],.form textarea,
  #mpwp-container input[type=text],#mpwp-container input[type=tel],#mpwp-container input[type=email]{padding:2vw 1vw}
  .form__check,.form__check label,#mpwp-container .label.terms{gap:2vw}
  .form__actions,#mpwp-container #mupwp-form-submit-container{flex-direction:column;align-items:stretch}
  .form__actions .btn,.form--narrow .form__actions .btn,#mpwp-container #mupwp-form-save{width:100%}
  .form__file{padding:2vw 1vw;gap:2vw}
  #mpwp-container .mupwp-form-terms{margin-top:4vw}
  #mpwp-container #mupwp-form-submit-container{margin-top:4vw}
}

/* Spazio sotto il form come nell'anteprima (1em, margine dei <form> nel rilievo) */
.form-wrap,.newsletter-form{margin-bottom:1em}
