.banks-page { padding-top: 24px; padding-bottom: 72px; }
.banks-heading { max-width: 800px; padding: 26px 0 24px; }
.banks-heading h1, .bank-profile-head h1 { margin: 4px 0 12px; color: var(--gray-900); font-size: clamp(30px,4vw,42px); line-height: 1.12; letter-spacing: -.03em; }
.banks-heading > p:not(.banks-eyebrow) { max-width: 720px; color: var(--gray-700); font-size: 16px; line-height: 1.65; }
.banks-eyebrow { margin: 0; color: var(--blue-600); text-transform: uppercase; letter-spacing: .08em; font-size: 12px; font-weight: 700; }
.banks-facts { display: flex; align-items: baseline; gap: 9px; margin-top: 22px; color: var(--gray-700); }
.banks-facts strong { color: var(--gray-900); font-size: 24px; }
.banks-facts span { margin-left: auto; font-size: 13px; }
.banks-search { display: flex; gap: 10px; padding: 16px; background: #fff; border: 1px solid var(--gray-200); border-radius: var(--radius-lg); box-shadow: var(--shadow-xs); }
.banks-search .form-input { min-width: 0; flex: 1; }
.banks-region-filter { display:flex; align-items:center; gap:10px; margin:14px 0 0; color:var(--gray-700); }
.banks-region-filter .form-select { width:min(380px,100%); }
.banks-letters { display:flex; flex-wrap:wrap; gap:6px; margin:22px 0; }
.banks-letters a, .banks-pagination a { display:inline-flex; min-width:34px; min-height:34px; align-items:center; justify-content:center; padding:5px 9px; border:1px solid var(--gray-200); border-radius:8px; background:#fff; color:var(--gray-700); font-weight:600; }
.banks-letters a:hover, .banks-letters a.is-current, .banks-pagination a[aria-current="page"] { border-color:var(--blue-600); background:var(--blue-600); color:#fff; text-decoration:none; }
.banks-list { display:grid; gap:10px; }
.bank-directory-card { display:flex; align-items:center; gap:16px; min-width:0; padding:17px 19px; background:#fff; border:1px solid var(--gray-200); border-radius:var(--radius-lg); box-shadow:var(--shadow-xs); }
.bank-directory-logo, .bank-profile-logo { display:grid; flex:0 0 48px; width:48px; height:48px; place-items:center; overflow:hidden; border-radius:14px; background:var(--blue-50); color:var(--blue-600); font-weight:700; font-size:20px; }
.bank-directory-logo img, .bank-profile-logo img { width:100%; height:100%; object-fit:contain; }
.bank-directory-main { min-width:0; flex:1; }
.bank-directory-main h2 { margin:0 0 7px; font-size:17px; line-height:1.3; }
.bank-directory-main h2 a { color:var(--gray-900); }
.bank-directory-meta { display:flex; flex-wrap:wrap; align-items:center; gap:8px 14px; color:var(--gray-500); font-size:13px; }
.license-status { display:inline-flex; align-items:center; width:max-content; padding:5px 9px; border-radius:999px; background:#edf8f2; color:#177345; font-size:12px; font-weight:700; }
.license-status--revoked, .license-status--annulled, .license-status--liquidated { background:#fff0ef; color:#a3322b; }
.license-status--unknown { background:#f2f4f7; color:#596579; }
.bank-card-action { flex:0 0 auto; color:var(--blue-600); font-weight:700; }
.bank-card-pending { flex:0 0 auto; color:var(--gray-500); font-size:13px; }
.banks-pagination { display:flex; flex-wrap:wrap; gap:7px; justify-content:center; margin:28px 0; }
.banks-empty, .banks-help, .bank-section, .bank-profile-aside { padding:22px; border:1px solid var(--gray-200); border-radius:var(--radius-lg); background:#fff; box-shadow:var(--shadow-xs); }
.banks-empty { text-align:center; }
.banks-help { margin-top:30px; color:var(--gray-700); line-height:1.7; }
.banks-help h2, .bank-section h2 { margin:0 0 14px; font-size:21px; color:var(--gray-900); }
.banks-product-links { display:flex; flex-wrap:wrap; gap:12px; margin-top:15px; }
.banks-product-links strong { width:100%; }
.bank-profile-head { display:flex; align-items:flex-start; gap:18px; padding:28px 0 22px; }
.bank-profile-logo { flex-basis:68px; width:68px; height:68px; font-size:27px; }
.bank-profile-head .license-status { margin-top:5px; }
.bank-lead { max-width:790px; margin:15px 0 0; color:var(--gray-700); line-height:1.65; }
.bank-anchor-nav { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 20px; padding:12px; border:1px solid var(--gray-200); border-radius:var(--radius-lg); background:#fff; }
.bank-anchor-nav a { padding:7px 10px; border-radius:7px; color:var(--gray-700); font-size:14px; }
.bank-anchor-nav a:hover { background:var(--blue-50); color:var(--blue-600); text-decoration:none; }
.bank-profile-grid { display:grid; grid-template-columns:minmax(0,1fr) 260px; align-items:start; gap:18px; }
.bank-profile-main { display:grid; gap:16px; min-width:0; }
.bank-section { scroll-margin-top:20px; line-height:1.65; }
.bank-section p { color:var(--gray-700); }
.bank-summary { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 20px; margin:0 0 14px; }
.bank-summary div { padding:11px 0; border-bottom:1px solid var(--gray-100); }
.bank-summary dt { color:var(--gray-500); font-size:13px; }
.bank-summary dd { margin:3px 0 0; color:var(--gray-900); font-weight:650; overflow-wrap:anywhere; }
.bank-requisites-table { width:100%; border-collapse:collapse; }
.bank-requisites-table th, .bank-requisites-table td { padding:12px 10px; border-bottom:1px solid var(--gray-200); text-align:left; vertical-align:top; }
.bank-requisites-table th { width:34%; color:var(--gray-700); font-weight:600; }
.bank-requisites-table td { overflow-wrap:anywhere; }
.bank-requisites-table td > span { display:inline-block; max-width:100%; }
.bank-table-wrap { width:100%; overflow-x:auto; }
.bank-copy { margin-left:8px; padding:4px 7px; border:1px solid var(--gray-200); border-radius:6px; background:#fff; color:var(--blue-600); font:inherit; font-size:12px; cursor:pointer; }
.bank-copy:hover { background:var(--blue-50); }
.bank-requisites-title { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.bank-requisites-title h2 { margin:0 0 12px; }
.bank-verified { color:var(--gray-500); font-size:13px; }
.bank-product-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
.bank-product { display:flex; flex-direction:column; gap:3px; padding:12px; border:1px solid var(--gray-200); border-radius:10px; color:var(--gray-900); }
.bank-product small { color:var(--gray-500); }
.bank-profile-aside { position:sticky; top:18px; display:flex; flex-direction:column; gap:10px; color:var(--gray-700); font-size:14px; }
.bank-profile-aside strong { color:var(--gray-900); }
.bank-offices, .bank-source-list { display:grid; gap:10px; padding:0; list-style:none; }
.bank-offices li, .bank-source-list li { display:grid; gap:3px; padding:12px 0; border-bottom:1px solid var(--gray-100); }
.bank-offices span, .bank-source-list span { color:var(--gray-500); font-size:13px; }
.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; clip-path:inset(50%); }
@media(max-width:850px) { .bank-profile-grid { grid-template-columns:1fr; } .bank-profile-aside { position:static; grid-row:1; } }
@media(max-width:600px) { .banks-page { padding-top:14px; padding-bottom:44px; } .banks-heading { padding:18px 0; } .banks-facts { flex-wrap:wrap; } .banks-facts span { width:100%; margin:0; } .banks-search { align-items:stretch; flex-direction:column; padding:12px; } .banks-search .btn { width:100%; } .banks-region-filter { align-items:stretch; flex-direction:column; } .bank-directory-card { align-items:flex-start; gap:11px; padding:14px 12px; } .bank-directory-logo { flex-basis:40px; width:40px; height:40px; } .bank-card-action, .bank-card-pending { align-self:center; font-size:12px; } .bank-directory-main h2 { font-size:15px; } .bank-directory-meta { font-size:12px; } .bank-profile-head { gap:13px; } .bank-profile-logo { flex-basis:52px; width:52px; height:52px; } .bank-profile-grid { gap:12px; } .bank-section, .banks-help, .bank-profile-aside { padding:16px; } .bank-summary, .bank-product-list { grid-template-columns:1fr; } .bank-requisites-table th, .bank-requisites-table td { display:block; width:auto; padding:8px 4px; } .bank-requisites-table tr { display:block; padding:8px 0; border-bottom:1px solid var(--gray-200); } .bank-requisites-table td { border:0; } .bank-copy { margin:5px 0 0; } .bank-requisites-title { align-items:flex-start; flex-direction:column; } }
