/* I moduli di ABN Legale: recesso e diritti privacy.
   Usano i colori del tema se ci sono (variabili di WordPress), altrimenti ripiegano su
   valori neutri: il plugin deve reggersi anche su un altro tema. */
.abnl-modulo {
  --abnl-verde: var(--wp--preset--color--verde, #00733a);
  --abnl-inchiostro: var(--wp--preset--color--inchiostro, #2e312a);
  --abnl-tenue: var(--wp--preset--color--tenue, #6b7266);
  --abnl-linea: var(--wp--preset--color--linea, #dcd8ce);
  --abnl-fondo: var(--wp--preset--color--fondo, #f7f4ed);
  box-sizing: border-box;
  max-width: 720px;
  margin: 24px 0;
  padding: clamp(20px, 4vw, 32px);
  border: 1px solid var(--abnl-linea);
  border-radius: 16px;
  background: #fff;
  color: var(--abnl-inchiostro);
}
.abnl-modulo *, .abnl-modulo *::before { box-sizing: border-box; }
.abnl-modulo h2 { margin: 0 0 10px; font-size: 1.35rem; }
.abnl-modulo p { margin: 0 0 14px; }
.abnl-modulo label { display: block; margin: 0 0 6px; font-size: 0.9rem; font-weight: 700; }
.abnl-modulo .obbl { color: #b02a1f; }
.abnl-modulo .facolt { color: var(--abnl-tenue); font-weight: 400; }
.abnl-modulo input[type="text"],
.abnl-modulo input[type="email"],
.abnl-modulo input[type="date"],
.abnl-modulo textarea {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid #cfcabf;
  border-radius: 10px;
  background: var(--abnl-fondo);
  color: inherit;
  font: inherit;
}
.abnl-modulo input:focus, .abnl-modulo textarea:focus {
  outline: 0;
  border-color: var(--abnl-verde);
  background: #fff;
  box-shadow: 0 0 0 3px rgba(0, 115, 58, 0.14);
}
.abnl-modulo__griglia { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 0 16px; }
.abnl-modulo fieldset { margin: 0 0 14px; padding: 0; border: 0; }
.abnl-modulo legend { margin-bottom: 8px; font-size: 0.9rem; font-weight: 700; }
.abnl-modulo__cosa label,
.abnl-modulo__tipi label {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  margin: 0 0 8px;
  padding: 11px 14px;
  border: 1.5px solid var(--abnl-linea);
  border-radius: 12px;
  background: var(--abnl-fondo);
  font-weight: 400;
  cursor: pointer;
}
.abnl-modulo__cosa { display: flex; flex-wrap: wrap; gap: 8px; }
.abnl-modulo__cosa label { margin: 0; font-weight: 700; }
.abnl-modulo__cosa label:has(input:checked),
.abnl-modulo__tipi label:has(input:checked) { border-color: var(--abnl-verde); background: var(--wp--preset--color--verde-tenue, #e4f0e2); }
.abnl-modulo input[type="radio"] { margin-top: 3px; accent-color: var(--abnl-verde); }
.abnl-modulo__tipi span { font-size: 0.95rem; line-height: 1.35; }
.abnl-modulo__azioni { margin: 20px 0 0; }
.abnl-modulo__pulsante {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 0 26px;
  border: 0;
  border-radius: 999px;
  background: var(--abnl-verde);
  color: #fff;
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}
.abnl-modulo__pulsante:hover { background: var(--wp--preset--color--verde-cupo, #0a3d22); }
.abnl-modulo__pulsante--conferma { min-width: 240px; font-size: 1.05rem; }
.abnl-modulo__link { padding: 0; border: 0; background: none; color: var(--abnl-verde); font: inherit; font-weight: 700; text-decoration: underline; cursor: pointer; }
.abnl-modulo__indietro { margin-top: 12px; }
.abnl-modulo__errori { margin: 0 0 16px; padding: 10px 16px; border-radius: 10px; background: #fbe9e7; color: #7f2118; }
.abnl-modulo__errori ul { margin: 0; padding-left: 18px; }
.abnl-modulo__dichiarazione { margin: 0 0 16px; padding: 14px 18px; border-left: 3px solid var(--abnl-verde); border-radius: 0 10px 10px 0; background: var(--abnl-fondo); }
.abnl-modulo__dichiarazione p:last-child { margin: 0; }
.abnl-modulo__passi { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 18px !important; font-size: 0.82rem; font-weight: 700; color: var(--abnl-tenue); }
.abnl-modulo__passi span { padding: 4px 10px; border-radius: 999px; background: var(--abnl-fondo); }
.abnl-modulo__passi .attivo { background: var(--abnl-verde); color: #fff; }
.abnl-modulo__passi .fatto { color: var(--abnl-verde); }
.abnl-modulo--ricevuta { border-color: var(--abnl-verde); }
.abnl-trappola { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.abnl-modulo-tipo { max-width: 720px; margin: 8px 0 24px; }
.abnl-modulo-tipo summary { cursor: pointer; font-weight: 700; color: var(--wp--preset--color--verde, #00733a); }
.abnl-modulo-tipo__testo { margin-top: 12px; padding: 16px 20px; border: 1px dashed #bdb7aa; border-radius: 10px; background: #fff; }
.abnl-recesso-ordine { margin: 18px 0; }
@media print {
  body * { visibility: hidden; }
  .abnl-modulo-tipo[open] .abnl-modulo-tipo__testo, .abnl-modulo-tipo[open] .abnl-modulo-tipo__testo * { visibility: visible; }
  .abnl-modulo-tipo__testo { position: absolute; left: 0; top: 0; border: 0; }
}
