
/* === Abbazia di Nazzano – CF7 === */
.abz-form{--abz-ink:#F4EEE4;--abz-label:#D9CDB8;--abz-gold:#D9BC8C;--abz-gold-l:#E6CFA6;--abz-line:rgba(244,238,228,.45);--abz-bg:#24302A;font-family:'Jost',sans-serif;color:var(--abz-ink)}
.abz-form *{box-sizing:border-box}
.abz-form p{margin:0}

/* Griglia */
.abz-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 28px}
.abz-full{grid-column:1 / -1}
.abz-form .wpcf7-form-control-wrap{display:block}

/* Label */
.abz-field label,.abz-label{display:block;font-size:12px;font-weight:400;letter-spacing:.14em;text-transform:uppercase;color:var(--abz-label);margin-bottom:8px}

/* Campi */
.abz-form input[type=text],.abz-form input[type=tel],.abz-form input[type=email],.abz-form select,.abz-form textarea{
  width:100%;background:transparent;border:0;border-bottom:1px solid var(--abz-line);border-radius:0;box-shadow:none;
  color:var(--abz-ink);font-family:'Jost',sans-serif;font-size:16px;font-weight:300;padding:10px 0;min-height:44px;outline:none;transition:border-color .2s}
.abz-form input:focus,.abz-form select:focus,.abz-form textarea:focus{border-bottom-color:var(--abz-gold)}
.abz-form ::placeholder{color:rgba(244,238,228,.45);opacity:1}
.abz-form textarea{resize:vertical;min-height:90px}

/* Select con freccia custom */
.abz-form select{-webkit-appearance:none;appearance:none;cursor:pointer;padding-right:28px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23F4EEE4' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 4px center}
.abz-form select option{background:var(--abz-bg);color:var(--abz-ink)}

/* Autofill del browser su fondo scuro */
.abz-form input:-webkit-autofill{-webkit-text-fill-color:var(--abz-ink);-webkit-box-shadow:0 0 0 1000px var(--abz-bg) inset;transition:background-color 9999s}

/* Radio a "chip" */
.abz-form .wpcf7-radio{display:flex;flex-wrap:wrap;gap:10px}
.abz-form .wpcf7-radio .wpcf7-list-item{margin:0}
.abz-form .wpcf7-radio label{margin:0;cursor:pointer;display:block;letter-spacing:0;text-transform:none}
.abz-form .wpcf7-radio input{position:absolute;opacity:0;width:1px;height:1px}
.abz-form .wpcf7-radio .wpcf7-list-item-label{display:inline-flex;align-items:center;min-height:48px;padding:0 22px;border:1px solid var(--abz-line);color:var(--abz-ink);font-size:15px;font-weight:400;transition:all .2s}
.abz-form .wpcf7-radio label:hover .wpcf7-list-item-label{border-color:var(--abz-gold)}
.abz-form .wpcf7-radio input:checked + .wpcf7-list-item-label{background:var(--abz-ink);border-color:var(--abz-ink);color:var(--abz-bg)}
.abz-form .wpcf7-radio input:focus-visible + .wpcf7-list-item-label{outline:2px solid var(--abz-gold);outline-offset:2px}

/* Privacy */
.abz-privacy .wpcf7-list-item{margin:0}
.abz-privacy label{display:flex;gap:14px;align-items:flex-start;cursor:pointer;font-size:14px;line-height:1.6;color:var(--abz-label)}
.abz-privacy input[type=checkbox]{width:20px;height:20px;margin:2px 0 0;flex-shrink:0;accent-color:var(--abz-gold)}
.abz-privacy a{color:var(--abz-gold-l);text-decoration:underline}

/* Bottone */
.abz-actions{display:flex;align-items:center;flex-wrap:wrap;gap:20px;margin-top:4px}
.abz-form .abz-btn{background:var(--abz-gold);color:#1F1D1A;border:0;border-radius:0;min-height:56px;padding:0 36px;cursor:pointer;
  font-family:'Jost',sans-serif;font-size:13px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;transition:background .2s}
.abz-form .abz-btn:hover{background:var(--abz-gold-l)}
.abz-form .abz-btn:disabled{opacity:.6;cursor:wait}
.abz-note{font-size:13px;color:#BFB29B}
.abz-form .wpcf7-spinner{margin:0}

/* Errori e messaggi */
.abz-form .wpcf7-not-valid{border-bottom-color:#E8A08A}
.abz-form .wpcf7-not-valid-tip{color:#E8A08A;font-size:13px;margin-top:6px}
.abz-form ~ .wpcf7-response-output,.wpcf7 form .wpcf7-response-output{margin:24px 0 0;padding:16px 20px;border:1px solid var(--abz-gold);color:var(--abz-ink);font-family:'Jost',sans-serif;font-size:15px}
.wpcf7 form.sent .wpcf7-response-output{border-color:var(--abz-gold);color:var(--abz-gold-l)}
.wpcf7 form.invalid .wpcf7-response-output,.wpcf7 form.failed .wpcf7-response-output{border-color:#E8A08A}


/* === CF7 – messaggi e stati (Abbazia di Nazzano) === */

/* Box del messaggio di risposta */
.wpcf7 form .wpcf7-response-output{
  margin:28px 0 0!important;
  padding:18px 22px!important;
  border:1px solid rgba(217,188,140,.55)!important;
  border-radius:0;
  background:rgba(244,238,228,.06);
  color:#F4EEE4;
  font-family:'Jost',sans-serif;
  font-size:15px;
  font-weight:300;
  line-height:1.6;
  letter-spacing:.01em;
}

/* Inviato correttamente */
.wpcf7 form.sent .wpcf7-response-output{
  border-color:#D9BC8C!important;
  background:rgba(217,188,140,.12);
  color:#E6CFA6;
}

/* Campi non validi, privacy non accettata */
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output{
  border-color:#E8A08A!important;
  background:rgba(232,160,138,.10);
  color:#F2C4B5;
}

/* Errore di invio, spam, invio interrotto */
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output,
.wpcf7 form.spam .wpcf7-response-output{
  border-color:#E8A08A!important;
  background:rgba(232,160,138,.14);
  color:#F2C4B5;
}

/* Messaggio sotto il singolo campo */
.abz-form .wpcf7-not-valid-tip{
  display:block;
  margin-top:8px;
  color:#F2C4B5;
  font-family:'Jost',sans-serif;
  font-size:13px;
  font-weight:400;
  letter-spacing:.02em;
}
.abz-form .wpcf7-not-valid{border-bottom-color:#E8A08A!important}
.abz-privacy .wpcf7-not-valid-tip{margin-left:34px}

/* Spinner durante l'invio */
.abz-form .wpcf7-spinner{background-color:#D9BC8C;opacity:.9;margin:0 0 0 4px}
.abz-form .wpcf7-spinner::before{background-color:#24302A}

/* Bottone disattivato (privacy non spuntata) */
.abz-form .abz-btn:disabled{opacity:.45;cursor:not-allowed}
.wpcf7 form.submitting .abz-btn{opacity:.7;cursor:wait}

/* Contrasto della selezione del testo */
.abz-form ::selection,.wpcf7-response-output::selection{background:#D9BC8C;color:#1F1D1A}


/* Mobile */
@media (max-width:767px){
  .abz-grid{grid-template-columns:minmax(0,1fr);gap:24px}
  .abz-form .abz-btn{width:100%}
}

@media (max-width: 1024px) {

}

@media (max-width: 767px) {

}