/* BOS Affiliate: public application form */
.bos-affiliate-application-wrap{width:100%;max-width:none;box-sizing:border-box}
.bos-affiliate-application-wrap .bos-affiliate-application{width:100%;max-width:none;box-sizing:border-box}
.bos-affiliate-application{font-family:inherit;font-size:16px;line-height:1.5;background:#fff;border:1px solid #e1e1e1;border-radius:16px;padding:33px 33px 33px;box-shadow:0 8px 24px rgba(0,0,0,.04)}
.bos-affiliate-application .bos-form-title{font-family:inherit;margin:0 0 6px;font-size:1.5em;line-height:1.2}
.bos-affiliate-application .bos-form-intro{margin:0 0 22px;color:#6b7280}
.bos-affiliate-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px}
.bos-affiliate-grid .form-row,.bos-affiliate-application .form-row{margin:0}
.bos-affiliate-grid .form-row label,.bos-affiliate-application .bos-checks label{display:block;font-family:inherit;font-size:1em;font-weight:600}
.bos-affiliate-grid .form-row label{margin-bottom:7px}
.bos-affiliate-grid .input-text{font-family:inherit;font-size:1em;width:100%;min-height:48px;padding:12px 14px;border:1px solid #d5d7da;border-radius:10px;background:#fff;box-sizing:border-box}
.bos-affiliate-grid .input-text:focus{outline:none;border-color:#537795;box-shadow:0 0 0 3px rgba(83,119,149,.12)}
.bos-affiliate-application .bos-checks{margin-top:18px;display:grid;gap:14px}
.bos-affiliate-application .bos-checks label{font-weight:400;line-height:1.55}
.bos-affiliate-application .bos-checks input[type=checkbox]{margin-right:10px;transform:translateY(1px)}
.bos-affiliate-application .bos-submit{font-family:inherit;display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:52px;margin-top:35px;padding:14px 20px;border:none;border-radius:10px;background:#537795;color:#fff;font-weight:700;font-size:1em;cursor:pointer}
.bos-affiliate-application .bos-submit:hover{opacity:.94}
.bos-affiliate-application-wrap .woocommerce-message,.bos-affiliate-application-wrap .woocommerce-error{margin-bottom:18px}
@media (max-width: 767px){.bos-affiliate-application{padding:22px 18px 18px}
.bos-affiliate-grid{grid-template-columns:1fr;gap:14px}
.bos-affiliate-application .bos-form-title{font-size:1.35em}
}

.bos-affiliate-application .bos-hidden-honeypot{display:none!important}

.bos-affiliate-application .bos-checks label{font-size:13px;line-height:1.5;font-weight:400}


/* Validazione candidature - tutti gli errori evidenziati insieme */
.bos-affiliate-application .bos-input-shell{display:block;position:relative}
.bos-affiliate-application .bos-field-error{display:none;position:absolute;left:14px;right:12px;top:50%;transform:translateY(-50%);pointer-events:none;color:#b42318;font-size:12px;font-weight:400;line-height:1.3}
.bos-affiliate-application .bos-input-shell.bos-invalid .bos-field-error{display:block}
.bos-affiliate-application .bos-input-shell.bos-invalid .input-text{border-color:#d92d20!important;box-shadow:0 0 0 1px rgba(217,45,32,.12);background-color:#fffafa}
.bos-affiliate-application .bos-input-shell.bos-invalid .input-text:placeholder-shown{color:transparent}
.bos-affiliate-application .bos-checks .bos-invalid label{color:inherit}
.bos-affiliate-application .bos-checks .bos-invalid input[type=checkbox]{outline:2px solid #d92d20;outline-offset:2px;accent-color:#d92d20}
.bos-affiliate-application .bos-check-error{display:none;margin:5px 0 0 24px;color:#b42318;font-size:12px;line-height:1.4}
.bos-affiliate-application .bos-checks .bos-invalid .bos-check-error{display:block}
.bos-affiliate-application .bos-validation-summary:not([hidden]){display:block;margin-top:12px;color:#b42318;font-size:13px}

/* Se il campo contiene testo, mostra l'errore SOTTO e mai sopra l'input. */
.bos-affiliate-application .bos-input-shell.bos-invalid.bos-has-value .bos-field-error{position:static;transform:none;margin-top:6px;pointer-events:auto}

/* Dati per il bonifico: area privata consulente */
.bos-affiliate-dashboard .bos-bank-panel{margin-top:28px;padding:22px;border:1px solid #e1e1e1;border-radius:12px}
.bos-affiliate-dashboard .bos-bank-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.bos-affiliate-dashboard .bos-bank-grid label{display:block;font-size:14px;margin-bottom:5px}
.bos-affiliate-dashboard .bos-bank-grid input{width:100%;min-height:42px;padding:8px 11px;box-sizing:border-box;border:1px solid #d5d7da;border-radius:7px}
.bos-affiliate-dashboard .bos-bank-full{grid-column:1/-1}
.bos-affiliate-dashboard .bos-bank-actions{margin-top:16px}
.bos-affiliate-dashboard .bos-bank-actions button{background:#537795;color:white;border:0;border-radius:7px;padding:12px 20px;cursor:pointer}
.bos-affiliate-dashboard .bos-bank-notice{margin:12px 0;font-size:14px}
@media(max-width:767px){.bos-affiliate-dashboard .bos-bank-grid{grid-template-columns:1fr}}

/* BOS bonifici: errori visibili sotto ai campi senza sovrapposizioni */
.bos-affiliate-dashboard .bos-bank-field-error{display:none;margin-top:5px;color:#b42318;font-size:12px;line-height:1.45}
.bos-affiliate-dashboard .bos-bank-field.bos-bank-invalid .bos-bank-field-error{display:block}
.bos-affiliate-dashboard .bos-bank-field.bos-bank-invalid input{border-color:#d92d20!important;box-shadow:0 0 0 1px rgba(217,45,32,.12);background:#fffafa}
