/* ===== CFG – Form richiesta ===== */
.cfg-form__title{margin:0 0 2.5rem}

.cfg-form__grid{display:grid;grid-template-columns:1fr 1fr;gap:1.75rem 1.5rem}
.cfg-form__field{min-width:0}
.cfg-form__field--full{grid-column:1 / -1}

.cfg-form .cfg-form__label{display:block;margin:0 0 .6em;font-weight:inherit;font-size:.6875rem;letter-spacing:.18em;text-transform:uppercase;color:var(--cfg-inchiostro);opacity:.75}
.cfg-form .wpcf7-form-control-wrap{display:block}

/* Campi a sottolineatura */
.cfg-form input[type="text"],
.cfg-form input[type="email"],
.cfg-form input[type="tel"]{
  display:block;width:100%;height:auto;margin:0;padding:.35em 0 .75em;
  background:transparent;border:0;border-bottom:1px solid color-mix(in srgb,var(--cfg-inchiostro) 30%,transparent);
  border-radius:0;box-shadow:none;color:var(--cfg-inchiostro);font:inherit;
  transition:border-color .2s
}
.cfg-form input[type="text"]:focus,
.cfg-form input[type="email"]:focus,
.cfg-form input[type="tel"]:focus{outline:0;box-shadow:none;background:transparent;border-bottom-color:var(--cfg-bordeaux)}

/* Messaggio */
.cfg-form textarea{
  display:block;width:100%;min-height:7.5rem;margin:0;padding:1em 1.1em;
  background:color-mix(in srgb,#fff 45%,transparent);
  border:1px solid color-mix(in srgb,var(--cfg-inchiostro) 15%,transparent);
  border-radius:0;box-shadow:none;color:var(--cfg-inchiostro);font:inherit;resize:vertical;
  transition:border-color .2s
}
.cfg-form textarea:focus{outline:0;box-shadow:none;border-color:var(--cfg-bordeaux)}

.cfg-form ::placeholder{color:var(--cfg-inchiostro);opacity:.4}

/* Chip "Sono interessato a" */
.cfg-form .wpcf7-checkbox{display:flex;flex-wrap:wrap;gap:.5rem}
.cfg-form .wpcf7-checkbox .wpcf7-list-item{margin:0}
.cfg-form .wpcf7-checkbox label{position:relative;display:block;margin:0;font-weight:inherit;cursor:pointer}
.cfg-form .wpcf7-checkbox input{position:absolute;width:1px;height:1px;margin:0;opacity:0;pointer-events:none}
.cfg-form .wpcf7-checkbox .wpcf7-list-item-label{
  display:block;padding:.55em 1.1em;line-height:1.2;
  border:1px solid color-mix(in srgb,var(--cfg-inchiostro) 45%,transparent);
  color:var(--cfg-inchiostro);transition:background-color .2s,color .2s,border-color .2s
}
.cfg-form .wpcf7-checkbox label:hover .wpcf7-list-item-label{border-color:var(--cfg-inchiostro)}
.cfg-form .wpcf7-checkbox input:checked + .wpcf7-list-item-label{background:var(--cfg-inchiostro);border-color:var(--cfg-inchiostro);color:#fff}
.cfg-form .wpcf7-checkbox input:focus-visible + .wpcf7-list-item-label{outline:2px solid var(--cfg-bordeaux);outline-offset:2px}

/* Privacy */
.cfg-form .wpcf7-acceptance .wpcf7-list-item{margin:0}
.cfg-form .wpcf7-acceptance label{display:flex;align-items:flex-start;gap:.75em;margin:0;font-weight:inherit;font-size:.8125rem;line-height:1.5;color:var(--cfg-inchiostro);cursor:pointer}
.cfg-form .wpcf7-acceptance input{
  -webkit-appearance:none;appearance:none;flex:0 0 14px;width:14px;height:14px;margin:.2em 0 0;
  border:1px solid color-mix(in srgb,var(--cfg-inchiostro) 55%,transparent);border-radius:0;
  background:transparent center/10px no-repeat;cursor:pointer
}
.cfg-form .wpcf7-acceptance input:checked{
  background-color:var(--cfg-inchiostro);border-color:var(--cfg-inchiostro);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 8'%3E%3Cpath d='M1 4l2.5 2.5L9 1' fill='none' stroke='%23fff' stroke-width='1.5'/%3E%3C/svg%3E")
}
.cfg-form .wpcf7-acceptance input:focus-visible{outline:2px solid var(--cfg-bordeaux);outline-offset:2px}
.cfg-form .wpcf7-acceptance a{color:inherit;text-decoration:underline}

/* Footer + pulsante */
.cfg-form__footer{display:flex;align-items:center;flex-wrap:wrap;gap:1rem 1.75rem;margin-top:2.25rem}
.cfg-form .wpcf7-submit{
  margin:0;min-height:0;padding:1.15em 2.6em;line-height:1;
  background:var(--cfg-bordeaux);color:#fff;border:0;border-radius:0;box-shadow:none;
  font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;cursor:pointer;
  transition:background-color .25s
}
.cfg-form .wpcf7-submit:hover,
.cfg-form .wpcf7-submit:focus-visible{background:color-mix(in srgb,var(--cfg-bordeaux) 85%,#000)}
.cfg-form .wpcf7-submit:disabled{opacity:.5;cursor:not-allowed}
.cfg-form .wpcf7-spinner{order:3;margin:0}
.cfg-form__note{font-size:.75rem;color:var(--cfg-inchiostro);opacity:.55}

/* Errori e messaggi */
.cfg-form .wpcf7-not-valid-tip{margin-top:.45em;font-size:.75rem;color:var(--cfg-bordeaux)}
.cfg-form input.wpcf7-not-valid{border-bottom-color:var(--cfg-bordeaux)}
.cfg-form textarea.wpcf7-not-valid{border-color:var(--cfg-bordeaux)}
.wpcf7 form:has(.cfg-form) .wpcf7-response-output{margin:1.5rem 0 0;padding:.9em 1.1em;border-width:1px;font-size:.875rem}

.wpcf7 form.sent .wpcf7-response-output {
    border-color: #46b450;
    background: #46b450;
    color: white;
    text-align: center;
    font-size: 16px !important;
}

/* Mobile */
@media (max-width:549px){
  .cfg-form__grid{grid-template-columns:1fr}
}