/* These controls belong to B2B; surrounding account navigation stays with the theme. */
.afsd-b2b-account,
.afsd-b2b-registration {
 color: #172a40;
 font-size: 15px;
 line-height: 1.55;
}
.afsd-b2b-account {
 width: 100%;
 max-width: 850px;
 padding: 24px;
 background: #fff;
 border: 1px solid #d3deeb;
 border-radius: 10px;
}
.afsd-b2b-account h2 { margin: 0 0 12px; color: #101d32; font-size: 24px; line-height: 1.3; }
.afsd-b2b-account p { margin: 0 0 16px; color: #33485f; }
.afsd-b2b-account form { margin: 20px 0 0; }
.afsd-b2b-account .afsd-b2b-field,
.afsd-b2b-registration .afsd-b2b-field {
 display: block;
 margin: 0 0 18px;
 padding: 0;
 border: 0;
 min-width: 0;
}
.afsd-b2b-account .afsd-b2b-field label,
.afsd-b2b-registration .afsd-b2b-field label {
 display: block;
 margin: 0 0 6px;
 padding: 0;
 color: #172a40;
 font-size: 14px;
 font-weight: 650;
 line-height: 1.45;
}
/* Explicit component styles resist broad theme form rules, including border resets. */
.afsd-b2b-account .afsd-b2b-field input:not([type=checkbox]):not([type=radio]),
.afsd-b2b-account .afsd-b2b-field select,
.afsd-b2b-account .afsd-b2b-field textarea,
.afsd-b2b-registration .afsd-b2b-field input:not([type=checkbox]):not([type=radio]),
.afsd-b2b-registration .afsd-b2b-field select,
.afsd-b2b-registration .afsd-b2b-field textarea,
.woocommerce form.woocommerce-form-register:has(.afsd-b2b-registration) input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=submit]),
.woocommerce form.afsd-b2b-signup-form input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=submit]),
.woocommerce form.afsd-b2b-signup-form select,
.woocommerce form.afsd-b2b-signup-form textarea {
 box-sizing: border-box;
 display: block;
 width: 100%;
 max-width: 100%;
 min-width: 0;
 height: auto;
 min-height: 44px;
 margin: 0;
 padding: 10px 12px;
 border: 1px solid #8798ac;
 border-radius: 6px;
 background: #fff;
 color: #172a40;
 box-shadow: none;
 font: inherit;
 font-size: 16px;
 line-height: 1.4;
}
.afsd-b2b-account .afsd-b2b-field textarea,
.afsd-b2b-registration .afsd-b2b-field textarea { min-height: 104px; resize: vertical; }
.afsd-b2b-account input::placeholder,
.afsd-b2b-account textarea::placeholder,
.afsd-b2b-registration input::placeholder,
.afsd-b2b-registration textarea::placeholder { color: #586b80; opacity: 1; }
.afsd-b2b-account input[readonly] { background: #f3f6fa; color: #33485f; }
.afsd-b2b-account input:focus-visible,
.afsd-b2b-account select:focus-visible,
.afsd-b2b-account textarea:focus-visible,
.afsd-b2b-registration input:focus-visible,
.afsd-b2b-registration select:focus-visible,
.afsd-b2b-registration textarea:focus-visible { outline: 3px solid #1478d4; outline-offset: 2px; }
.afsd-b2b-account .afsd-b2b-field input[type=checkbox],
.afsd-b2b-registration .afsd-b2b-field input[type=checkbox] { width: 20px; height: 20px; min-height: 20px; margin: 0; accent-color: #006be6; }
.afsd-b2b-account .afsd-b2b-help,
.afsd-b2b-registration .afsd-b2b-help { margin: 6px 0 0; color: #475e75; font-size: 13px; line-height: 1.5; }
.afsd-b2b-registration .afsd-b2b-business-fields { display: block; min-width: 0; margin: 20px 0 18px; padding: 20px 0 0; border: 0; border-top: 1px solid #d3deeb; }
.afsd-b2b-registration .afsd-b2b-business-fields legend { float: none; width: auto; margin: 0 0 10px; padding: 0; color: #101d32; font-size: 18px; font-weight: 700; }
.afsd-b2b-registration .afsd-b2b-intro { margin: 0 0 18px; color: #475e75; font-size: 14px; }
.afsd-b2b-registration .afsd-b2b-type-description { padding: 10px 12px; margin: 0 0 18px; border-left: 3px solid #006be6; border-radius: 4px; background: #f0f6ff; color: #33485f; }
.afsd-b2b-account [hidden],
.afsd-b2b-registration [hidden] { display: none !important; }
.afsd-b2b-account .button,
.afsd-b2b-registration .button,
.woocommerce form.woocommerce-form-register:has(.afsd-b2b-registration) button[name=register],
.woocommerce form.woocommerce-form-register:has(.afsd-b2b-registration) input[type=submit][name=register],
.woocommerce form.afsd-b2b-signup-form button[name=register],
.woocommerce form.afsd-b2b-signup-form input[type=submit][name=register] {
 display: inline-flex;
 align-items: center;
 justify-content: center;
 max-width: 100%;
 min-height: 44px;
 margin: 8px 0 0;
 padding: 10px 18px;
 border: 1px solid #006be6;
 border-radius: 6px;
 background: #006be6;
 color: #fff;
 box-shadow: none;
 font: inherit;
 font-weight: 650;
 line-height: 1.4;
 text-align: center;
 text-decoration: none;
 cursor: pointer;
}
.afsd-b2b-account .button:hover,
.afsd-b2b-registration .button:hover { background: #0054b7; color: #fff; }
.afsd-b2b-account .button:focus-visible,
.afsd-b2b-registration .button:focus-visible { outline: 3px solid #1478d4; outline-offset: 3px; }
.afsd-b2b-account .afsd-b2b-secondary,
.afsd-b2b-registration .afsd-b2b-secondary { background: #fff; color: #0054b7; }
.afsd-b2b-account .afsd-b2b-update-questions,
.afsd-b2b-registration .afsd-b2b-update-questions { margin: 14px 0; color: #475e75; font-size: 13px; }
.afsd-b2b-update-questions span { display: block; }
.afsd-b2b-account,
.afsd-b2b-account *,
.afsd-b2b-registration,
.afsd-b2b-registration * { box-sizing: border-box; overflow-wrap: anywhere; }
@media (max-width: 600px) {
 .afsd-b2b-account { padding: 18px; }
 .afsd-b2b-account h2 { font-size: 22px; }
 .afsd-b2b-account .afsd-b2b-field,
 .afsd-b2b-registration .afsd-b2b-field { margin-bottom: 16px; }
}

/* Question width is local to the business form and collapses on small screens. */
.afsd-b2b-question-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 20px; }
.afsd-b2b-question-grid > .afsd-b2b-width-full { grid-column: 1 / -1; }
.afsd-b2b-question-grid .afsd-b2b-choice-group { border: 0; padding: 0; margin: 0; min-width: 0; }
.afsd-b2b-question-grid .afsd-b2b-choice-group legend { color: #172a40; font-size: 14px; font-weight: 650; margin: 0 0 6px; padding: 0; }
.afsd-b2b-question-grid .afsd-b2b-choice-group label { display: flex; align-items: center; gap: 8px; min-height: 44px; font-weight: 400; }
.afsd-b2b-question-grid input[type=radio] { flex: 0 0 20px; width: 20px; height: 20px; margin: 0; accent-color: #006be6; }
.afsd-b2b-question-grid select[multiple] { min-height: 150px; }
.afsd-b2b-question-grid .afsd-b2b-field input[data-b2b-color-picker] { width: 64px; padding: 4px; margin-top: 8px; }
@media (max-width: 600px) {
 .afsd-b2b-question-grid { grid-template-columns: minmax(0, 1fr); column-gap: 0; }
 .afsd-b2b-question-grid > .afsd-b2b-width-half { grid-column: 1 / -1; }
}

.afsd-b2b-account .afsd-b2b-status-text { white-space: pre-line; }
