/* Referral screens extend the NTB portal. No storefront-wide selectors. */
.ntb-affiliate{--ntb-aff-ink:#172d48;--ntb-aff-muted:#52647a;--ntb-aff-line:#d7e0e9;--ntb-aff-primary:#153f73;color:var(--ntb-aff-ink);font-family:inherit;font-size:16px;line-height:1.6;min-width:0;overflow-wrap:anywhere}
.ntb-affiliate *, .ntb-affiliate *::before,.ntb-affiliate *::after{box-sizing:border-box}
.ntb-affiliate h1,.ntb-affiliate h2,.ntb-affiliate h3{color:var(--ntb-aff-ink);line-height:1.25;letter-spacing:-.025em;margin:0 0 16px}
.ntb-affiliate h1{font-size:clamp(28px,3.4vw,42px)}
.ntb-affiliate h2{font-size:25px}.ntb-affiliate h3{font-size:21px}
.ntb-affiliate p{margin:0 0 16px}.ntb-affiliate a{color:var(--ntb-aff-primary);text-underline-offset:3px}
.ntb-affiliate>section{border:0;border-top:1px solid var(--ntb-aff-line);border-radius:0;box-shadow:none;background:transparent;padding:28px 0;margin:0}
.ntb-affiliate label{display:grid;gap:7px;font-size:14px;font-weight:600;color:var(--ntb-aff-ink);min-width:0}
.ntb-affiliate input:not([type=checkbox]):not([type=hidden]),.ntb-affiliate select,.ntb-affiliate textarea{font:inherit;font-size:16px;line-height:1.5;color:var(--ntb-aff-ink);background:#fff;width:100%;max-width:100%;border:1px solid #93a5b8;border-radius:5px;padding:10px 12px;min-height:46px;box-shadow:none;margin:0}
.ntb-affiliate textarea{min-height:110px;resize:vertical}.ntb-affiliate input[type=color]{max-width:130px;padding:5px}
.ntb-affiliate input[readonly]{background:#f3f6f9;font-size:14px;font-weight:400}
.ntb-affiliate .ntb-aff-check{display:flex;align-items:flex-start;gap:10px;font-weight:400;font-size:16px;padding:3px 0}
.ntb-affiliate .ntb-aff-check input{flex:none;width:18px;height:18px;margin:4px 0 0;accent-color:var(--ntb-aff-primary)}
.ntb-affiliate :focus-visible{outline:3px solid #2474c5;outline-offset:3px}
.ntb-affiliate .ntb-aff-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--ntb-aff-primary);border:1px solid var(--ntb-aff-primary);color:#fff;border-radius:5px;padding:11px 18px;font:inherit;font-size:15px;font-weight:600;line-height:1.4;text-decoration:none;min-height:46px;width:auto;max-width:100%;white-space:normal;cursor:pointer;text-align:center;margin:0;box-shadow:none}
.ntb-affiliate .ntb-aff-button:hover{background:#0d2c53;border-color:#0d2c53;color:#fff}
.ntb-aff-form{display:flex;flex-direction:column;align-items:stretch;gap:18px;max-width:900px;margin:0}
.ntb-aff-form>.ntb-aff-button{align-self:flex-start}.ntb-aff-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px}.ntb-aff-wide{grid-column:1/-1}
.ntb-affiliate .ntb-aff-balances{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding:24px 0 30px;margin:0;border:0}
.ntb-aff-balances dt{font-size:14px;color:var(--ntb-aff-muted);font-weight:500}.ntb-aff-balances dd{margin:6px 0 0;font-size:30px;line-height:1.2;font-weight:700;font-variant-numeric:tabular-nums}
.ntb-affiliate .ntb-aff-message{background:#edf4fb;border-left:4px solid var(--ntb-aff-primary);padding:15px 18px;color:#173a60;margin:18px 0;border-radius:0;box-shadow:none}
.ntb-aff-tabs{display:flex;flex-wrap:wrap;gap:4px 20px;border-bottom:1px solid var(--ntb-aff-line);margin:24px 0;padding:0}
.ntb-aff-tabs a{display:inline-block;padding:12px 0;text-decoration:none;font-weight:600;border-bottom:3px solid transparent}
.ntb-aff-tabs a[aria-current=page]{border-bottom-color:var(--ntb-aff-primary);color:var(--ntb-aff-ink)}
.ntb-aff-filter{display:flex;align-items:flex-end;flex-wrap:wrap;gap:16px;margin:24px 0}.ntb-aff-filter label{flex:1 1 160px}.ntb-aff-filter>.ntb-aff-button{flex:0 0 auto}
.ntb-aff-table-wrap{overflow-x:auto;max-width:100%;margin:16px 0;border:1px solid var(--ntb-aff-line);border-radius:0}
.ntb-affiliate table{border-collapse:collapse;table-layout:auto;width:100%;min-width:650px;font-size:14px;line-height:1.5;margin:0;border:0;background:#fff}
.ntb-affiliate th,.ntb-affiliate td{padding:13px 15px;vertical-align:top;text-align:left;border:0;border-bottom:1px solid var(--ntb-aff-line);white-space:normal;font-variant-numeric:tabular-nums;overflow-wrap:normal;word-break:normal}
.ntb-affiliate th{background:#edf2f7;font-size:13px;font-weight:700;color:var(--ntb-aff-ink);white-space:nowrap}
.ntb-affiliate td:last-child{min-width:180px}.ntb-affiliate td .woocommerce-Price-amount{white-space:nowrap}
.ntb-affiliate .ntb-aff-table-hint{font-size:14px;color:var(--ntb-aff-muted);margin:12px 0 6px}.ntb-aff-table-hint[hidden]{display:none}
.ntb-affiliate tr:last-child td{border-bottom:0}.ntb-affiliate td .ntb-aff-form{min-width:210px;gap:12px;margin:14px 0}.ntb-affiliate td details{max-width:350px;margin:12px 0}
.ntb-affiliate details>summary{cursor:pointer;font-weight:600;padding:10px 0}.ntb-affiliate details[open]>summary{margin-bottom:12px}
.ntb-aff-pages{display:flex;gap:20px;align-items:center;justify-content:flex-end;font-size:14px;padding:10px 0}
.ntb-aff-admin{max-width:1400px;padding:24px 24px 48px 4px}.ntb-aff-admin>.ntb-portal-shell{max-width:none;margin:20px 0}.ntb-aff-admin .ntb-aff-attribution{padding:12px 0;border-bottom:1px solid var(--ntb-aff-line)}
.ntb-aff-landing{max-width:920px;padding:54px 28px 70px;margin:0 auto 48px}.ntb-aff-landing>header{max-width:700px;margin-bottom:30px}.ntb-aff-landing .ntb-aff-kicker{text-transform:uppercase;letter-spacing:.1em;font-size:12px;font-weight:700;color:var(--ntb-aff-primary);margin-bottom:12px}
.ntb-aff-bank{margin:24px 0;padding:24px;border:1px solid var(--ntb-aff-line)}
@media(max-width:640px){.ntb-aff-fields{grid-template-columns:minmax(0,1fr);gap:18px}.ntb-affiliate .ntb-aff-balances{grid-template-columns:minmax(0,1fr);gap:16px}.ntb-aff-balances dd{font-size:28px}.ntb-affiliate h2{font-size:23px}.ntb-aff-form>.ntb-aff-button{width:100%}.ntb-aff-landing{padding:32px 20px 40px;margin-bottom:32px}.ntb-aff-admin{padding:20px 8px 40px 0}.ntb-aff-tabs{gap:0 18px}.ntb-aff-pages{justify-content:flex-start}.ntb-affiliate>section{padding:24px 0}}

.ntb-affiliate .ntb-aff-honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.ntb-portal-shell.ntb-affiliate{grid-template-columns:minmax(0,1fr);gap:0}
.ntb-portal-shell.ntb-affiliate>*{min-width:0}
.ntb-aff-admin>.ntb-aff-form{margin:24px 0}
.ntb-aff-admin .ntb-sticky-save{position:static;box-shadow:none;margin:24px 0 0;border:0;border-top:1px solid var(--ntb-aff-line);border-radius:0;padding:20px 0}

/* Generated referral pages inherit the NTB enquiry layout and the site's page shell. */
.ntb-referral-gf { padding-top: 28px; }
.ntb-referral-gf > header h2 { font-size: clamp(28px, 3.4vw, 42px); }
.ntb-referral-gf .gform_wrapper { max-width: 100%; margin: 0; border: 0; padding: 0; background: transparent; box-shadow: none; }
.ntb-referral-gf .gform_fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 24px; }
.ntb-referral-gf .gfield.ntb-ref-field-half { grid-column: span 1; min-width: 0; }
.ntb-referral-gf .gfield.ntb-ref-field-wide { grid-column: 1 / -1; min-width: 0; }
.ntb-referral-gf .gfield_label { margin-bottom: 8px; }
.ntb-referral-gf .gchoice { display: flex; align-items: flex-start; gap: 10px; }
.ntb-referral-gf .gchoice input { flex: none; width: 18px; height: 18px; margin-top: 5px; accent-color: var(--ntb-aff-primary); }
.ntb-referral-gf .gchoice label { font-size: 15px; font-weight: 400; line-height: 1.6; }
.ntb-referral-gf .gform_footer { padding: 24px 0 0; margin: 0; }
.ntb-affiliate.ntb-referral-gf input[type=submit],.ntb-affiliate.ntb-referral-gf button[type=submit] { width: auto; min-height: 46px; background: var(--ntb-aff-primary); color: #fff; border-color: var(--ntb-aff-primary); padding: 12px 22px; font-weight: 600; cursor: pointer; }
.ntb-affiliate.ntb-referral-gf input[type=submit]:hover { background: #0d2c53; }
.ntb-referral-gf .gform_validation_errors { color: #812b24; background: #fff3f1; border: 1px solid #bd746c; border-radius: 5px; box-shadow: none; padding: 18px; margin: 0 0 24px; }
.ntb-referral-gf .gform_validation_errors h2 { color: inherit; font-size: 18px; }
.ntb-referral-gf .gfield_validation_message { color: #812b24; font-size: 14px; padding: 8px 0; }
.ntb-referral-gf .ntb-ref-privacy { margin-top: 24px; font-size: 14px; }
.ntb-referral-gf .ntb-aff-message { border: 1px solid var(--ntb-aff-line); }
.ntb-ref-page-row { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 16px 24px; padding: 20px 0; border-bottom: 1px solid var(--ntb-aff-line); }
.ntb-ref-page-row > div { display: grid; gap: 4px; min-width: 0; }
.ntb-ref-page-row span,.ntb-ref-help { color: var(--ntb-aff-muted); font-size: 14px; }
.ntb-ref-page-row a { overflow-wrap: anywhere; }
@media (max-width: 640px) {
 .ntb-referral-gf .gform_fields { grid-template-columns: minmax(0, 1fr); gap: 20px; }
 .ntb-referral-gf .gfield.ntb-ref-field-half { grid-column: 1 / -1; }
 .ntb-affiliate.ntb-referral-gf input[type=submit],.ntb-affiliate.ntb-referral-gf button[type=submit] { width: 100%; }
}
