/* /public/css/builder/components/form-block.css */
.body-builder .builder-form-block{
  position: relative;
  border: 1px dashed rgba(255,255,255,0.14);
  border-radius: 8px;
}

/* Builder canvas + sito pubblicato: specificità 0,3,0 batte il CSS engine (.builder-el.el-xxxx = 0,2,0) */
.body-builder .builder-form-block .builder-form-message,
.builder-form-block .builder-el.builder-form-message{
  display: block;
  padding: 12px 14px;
  border-radius: 8px;
  font-size: 13px;
  line-height: 140%;
}

.body-builder .builder-form-block .builder-form-message--success,
.builder-form-block .builder-form-message.builder-form-message--success{
  background: rgba(34, 197, 94, 0.16);
  border: 1px solid rgba(34, 197, 94, 0.35);
}

.body-builder .builder-form-block .builder-form-message--error,
.builder-form-block .builder-form-message.builder-form-message--error{
  background: rgba(239, 68, 68, 0.16);
  border: 1px solid rgba(239, 68, 68, 0.35);
}

.body-builder .builder-form-block[data-form-state="form"] .builder-form-message,
.body-builder .builder-form-block[data-form-state="form"] > .builder-el[data-form-feedback],
#builderPage.builder-page .builder-form-block[data-form-state="form"] .builder-form-message,
#builderPage.builder-page .builder-form-block[data-form-state="form"] > .builder-el[data-form-feedback]{
  display: none !important;
}

.body-builder .builder-form-block[data-form-state="success"] .builder-form-message--error,
.body-builder .builder-form-block[data-form-state="success"] > .builder-el:not([data-form-feedback="success"]),
#builderPage.builder-page .builder-form-block[data-form-state="success"] .builder-form-message--error,
#builderPage.builder-page .builder-form-block[data-form-state="success"] > .builder-el:not([data-form-feedback="success"]){
  display: none !important;
}

.body-builder .builder-form-block[data-form-state="error"] .builder-form-message--success,
.body-builder .builder-form-block[data-form-state="error"] > .builder-el:not([data-form-feedback="error"]),
#builderPage.builder-page .builder-form-block[data-form-state="error"] .builder-form-message--success,
#builderPage.builder-page .builder-form-block[data-form-state="error"] > .builder-el:not([data-form-feedback="error"]){
  display: none !important;
}

.body-builder .builder-form-block[data-form-state="success"] .mfr-martini-captcha-root,
.body-builder .builder-form-block[data-form-state="error"] .mfr-martini-captcha-root,
#builderPage.builder-page .builder-form-block[data-form-state="success"] .mfr-martini-captcha-root,
#builderPage.builder-page .builder-form-block[data-form-state="error"] .mfr-martini-captcha-root{
  display: none !important;
}

/* Martini CAPTCHA — allineato ai campi form nel canvas builder */
#builderPage.builder-page .mfr-martini-captcha-root,
.body-builder .mfr-martini-captcha-root {
  width: 100%;
  margin-top: 2px;
}

#builderPage.builder-page .mfr-martini-captcha-math__input[readonly],
.body-builder .mfr-martini-captcha-math__input[readonly] {
  pointer-events: none;
  opacity: 0.92;
}

#builderPage.builder-page .mfr-martini-captcha-math__label,
.body-builder .mfr-martini-captcha-math__label {
  color: #64748b;
  font-size: 13px;
  font-weight: 500;
  margin: 0 0 6px;
}

#builderPage.builder-page .mfr-martini-captcha-badge,
.body-builder .mfr-martini-captcha-badge {
  color: #64748b;
}

/* Etichetta campo (blocco Label nel form) */
.body-builder .builder-form-label{
  display: block;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.35;
  color: #64748b;
  margin: 0 0 6px 0;
  letter-spacing: 0.01em;
}

:where(.builder-form-label){
  display: block;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.35;
  color: #64748b;
  margin: 0 0 6px 0;
  letter-spacing: 0.01em;
}

/* Controlli: canvas stage — espliciti perché frame-defaults ha color-scheme: dark */
#builderPage.builder-page .builder-form-input,
#builderPage.builder-page .builder-form-textarea,
#builderPage.builder-page .builder-form-select,
.body-builder .builder-form-input,
.body-builder .builder-form-textarea,
.body-builder .builder-form-select,
:where(.builder-form-input),
:where(.builder-form-textarea),
:where(.builder-form-select){
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 11px 16px;
  font-size: 14px;
  line-height: 1.45;
  font-family: inherit;
  color: #0f172a;
  background-color: #ffffff;
  background-image: none;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
  color-scheme: light;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
}

#builderPage.builder-page .builder-form-input,
#builderPage.builder-page .builder-form-textarea,
.body-builder .builder-form-input,
.body-builder .builder-form-textarea,
:where(.builder-form-input),
:where(.builder-form-textarea){
  -webkit-appearance: none;
  appearance: none;
}

#builderPage.builder-page .builder-form-input::placeholder,
#builderPage.builder-page .builder-form-textarea::placeholder,
.body-builder .builder-form-input::placeholder,
.body-builder .builder-form-textarea::placeholder,
:where(.builder-form-input)::placeholder,
:where(.builder-form-textarea)::placeholder{
  color: #94a3b8;
}

#builderPage.builder-page .builder-form-input:hover,
#builderPage.builder-page .builder-form-textarea:hover,
#builderPage.builder-page .builder-form-select:hover,
.body-builder .builder-form-input:hover,
.body-builder .builder-form-textarea:hover,
.body-builder .builder-form-select:hover,
:where(.builder-form-input):hover,
:where(.builder-form-textarea):hover,
:where(.builder-form-select):hover{
  border-color: #cbd5e1;
  box-shadow: 0 2px 6px rgba(15, 23, 42, 0.08);
}

#builderPage.builder-page .builder-form-input:focus,
#builderPage.builder-page .builder-form-textarea:focus,
#builderPage.builder-page .builder-form-select:focus,
.body-builder .builder-form-input:focus,
.body-builder .builder-form-textarea:focus,
.body-builder .builder-form-select:focus,
:where(.builder-form-input):focus,
:where(.builder-form-textarea):focus,
:where(.builder-form-select):focus{
  outline: none;
  border-color: #6366f1;
  box-shadow:
    0 1px 3px rgba(15, 23, 42, 0.06),
    0 0 0 3px rgba(99, 102, 241, 0.22);
}

#builderPage.builder-page .builder-form-textarea,
.body-builder .builder-form-textarea,
:where(.builder-form-textarea){
  min-height: 100px;
  resize: vertical;
}

#builderPage.builder-page .builder-form-select,
.body-builder .builder-form-select,
:where(.builder-form-select){
  height: auto;
  min-height: 46px;
  cursor: pointer;
}

.body-builder .builder-form-checkbox{
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  color: #0f172a;
}

:where(.builder-form-checkbox){
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  color: #0f172a;
}

.body-builder .builder-form-checkbox input[type="checkbox"]{
  width: 16px;
  height: 16px;
  accent-color: #4f46e5;
  cursor: pointer;
}

:where(.builder-form-checkbox) input[type="checkbox"]{
  width: 16px;
  height: 16px;
  accent-color: #4f46e5;
  cursor: pointer;
}

.builder-form-privacy__text {
  line-height: 1.45;
}

.builder-form-privacy__link {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.builder-form-privacy__link:hover {
  color: #4f46e5;
}

.builder-form-radio {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.builder-form-radio-option {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  color: #0f172a;
  cursor: pointer;
}

.builder-form-radio-option input[type="radio"] {
  width: 16px;
  height: 16px;
  accent-color: #4f46e5;
  cursor: pointer;
}

#builderPage.builder-page .builder-el[data-block="form-input"] > input[type="hidden"],
.body-builder .builder-el[data-block="form-input"] > input[type="hidden"] {
  display: block;
  width: 100%;
  height: 32px;
  padding: 6px 12px;
  font-size: 12px;
  line-height: 1.4;
  color: #64748b;
  background: repeating-linear-gradient(
    -45deg,
    rgba(148, 163, 184, 0.12),
    rgba(148, 163, 184, 0.12) 6px,
    rgba(148, 163, 184, 0.06) 6px,
    rgba(148, 163, 184, 0.06) 12px
  );
  border: 1px dashed #cbd5e1;
  border-radius: 8px;
}

/* Wrapper .builder-el porta padding/sfondo/tipografia; il <button> interno eredita. */
.builder-el[data-block="form-button"] > .builder-form-button,
#builderPage.builder-page .builder-el[data-block="form-button"] > .builder-form-button,
.body-builder .builder-el[data-block="form-button"] > .builder-form-button{
  width: 100%;
  min-height: 100%;
  margin: 0;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: 0;
  border-radius: inherit;
  box-shadow: none;
  /* NO color:inherit — batte le regole engine su [data-text-editable] (specificità #builderPage). */
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
  text-decoration: inherit;
  cursor: inherit;
  -webkit-appearance: none;
  appearance: none;
}

.builder-el[data-block="form-button"] > .builder-form-button:hover,
.builder-el[data-block="form-button"] > .builder-form-button:active,
.builder-el[data-block="form-button"] > .builder-form-button.is-preview-hover,
#builderPage.builder-page .builder-el[data-block="form-button"] > .builder-form-button:hover,
#builderPage.builder-page .builder-el[data-block="form-button"] > .builder-form-button:active,
#builderPage.builder-page .builder-el[data-block="form-button"] > .builder-form-button.is-preview-hover,
.body-builder .builder-el[data-block="form-button"] > .builder-form-button:hover,
.body-builder .builder-el[data-block="form-button"] > .builder-form-button:active,
.body-builder .builder-el[data-block="form-button"] > .builder-form-button.is-preview-hover{
  filter: none;
}

/* Layout submit — NO color/background qui (stanno sul wrapper via inspector / defaults). */
:where(#builderPage.builder-page .builder-form-button),
:where(.body-builder .builder-form-button),
:where(.builder-form-button){
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin: 0;
  padding: 12px 16px;
  width: auto;
  min-height: 0;
  font-family: inherit;
  letter-spacing: normal;
  cursor: pointer;
  background-image: none;
  border: none;
  border-radius: 0;
  box-shadow: none;
  color-scheme: light;
  -webkit-appearance: none;
  appearance: none;
  transition: filter 0.15s ease;
}

:where(#builderPage.builder-page .builder-form-button):hover,
:where(.body-builder .builder-form-button):hover,
:where(.builder-form-button):hover{
  filter: brightness(0.93);
}
:where(.body-builder .builder-form-button):focus,
:where(.builder-form-button):focus{
  outline: none;
}

:where(#builderPage.builder-page .builder-form-button):focus-visible,
:where(.body-builder .builder-form-button):focus-visible,
:where(.builder-form-button):focus-visible{
  outline: 2px solid rgba(13, 110, 253, 0.55);
  outline-offset: 2px;
}

:where(#builderPage.builder-page .builder-form-button):active,
:where(.body-builder .builder-form-button):active,
:where(.builder-form-button):active{
  filter: brightness(0.88);
}

:where(#builderPage.builder-page .builder-form-button):disabled,
:where(.body-builder .builder-form-button):disabled,
:where(.builder-form-button):disabled{
  opacity: 0.65;
  cursor: not-allowed;
  filter: grayscale(0.08);
}

:where(#builderPage.builder-page .builder-form-button).is-preview-hover,
:where(.body-builder .builder-form-button).is-preview-hover,
:where(.builder-form-button).is-preview-hover{
  filter: brightness(0.93);
}
