.fenix-valida{ --vld-brand:#af8859; --vld-ink:#2a3439; }

/* Pagina /valida (cassa) — condivisa fra i due siti. Colori da --vld-brand / --vld-ink sul contenitore.
   Misure in px (il tema Dispensa dimezza i rem). Stati distinguibili a colpo d'occhio: verde/rosso/giallo. */

.vld { max-width: 460px; margin: 0 auto; padding: 8px; }
.vld__card { border-radius: 16px; padding: 26px 22px; text-align: center; border: 2px solid; }
.vld__card--ok      { background: #ecfdf3; border-color: #1c7c3e; color: #12602f; }
.vld__card--ko      { background: #fef1f1; border-color: #b3261e; color: #8f1d17; }
.vld__card--unknown { background: #fffaeb; border-color: #b7791f; color: #8a5a12; }

.vld__icon { font-size: 54px; line-height: 1; margin-bottom: 6px; }
.vld__status { font-size: 24px; font-weight: 700; margin: 0 0 6px; letter-spacing: .02em; }
.vld__detail { font-size: 16px; line-height: 1.5; margin: 0; }
.vld__detail b { font-weight: 700; }

.vld__field { margin-top: 18px; text-align: left; }
.vld__label { display: block; font-size: 13px; font-weight: 600; margin-bottom: 6px; color: var(--vld-ink, #36475a); }
.vld__input {
  width: 100%; box-sizing: border-box; padding: 14px 16px; font-size: 20px;
  border: 1px solid rgba(0,0,0,.25); border-radius: 10px; text-align: center;
}
.vld__btn {
  width: 100%; margin-top: 12px; padding: 16px 20px; cursor: pointer;
  background: var(--vld-brand, #d55e14); color: #fff; border: 1px solid var(--vld-brand, #d55e14);
  border-radius: 10px; font-size: 16px; font-weight: 700; letter-spacing: .04em;
}
.vld__btn:disabled { opacity: .55; cursor: default; }
.vld__btn--ghost { background: transparent; color: var(--vld-brand, #d55e14); }

.vld__apply { font-size: 30px; font-weight: 800; margin: 10px 0 2px; }
.vld__note { font-size: 14px; opacity: .8; margin: 0; }
.vld__link { display: inline-block; margin-top: 14px; font-size: 13px; color: var(--vld-ink, #36475a); background: none; border: none; text-decoration: underline; cursor: pointer; }
.vld__logo { max-height: 46px; width: auto; margin: 0 auto 14px; display: block; }

/* Scoperto al blocco: un [hidden] globale vincerebbe con !important su qualunque elemento
   marcato hidden nella pagina ospite (accordion, tab, player video, banner cookie...).
   Il discendente ".vld [hidden]" copre gli errori inline (.vld__pinerr, .vld__imperr), tutti
   annidati dentro .vld, senza uscire mai dal contenitore del blocco. */
.vld [hidden] { display: none !important; }
