/*
 * Russian sender banks: catalogue (/transfers/banks/), guide block,
 * /transfers/ promo and the route link. Builds on transfers-redesign.css,
 * cards-archive-redesign.css (filter shell) and the --ft-* tokens.
 */

.fc-ru-banks .screen-reader-text { border: 0; clip: rect(1px, 1px, 1px, 1px); height: 1px; overflow: hidden; position: absolute !important; width: 1px; }
.fc-ru-banks.is-loading { cursor: progress; }

/* Amount field inside the card-archive filter shell */
.fc-ru-banks__amount { cursor: text; gap: 8px; }
.fc-ru-banks__amount input { background: transparent; border: 0; color: var(--ft-ink); flex: 1; font: inherit; font-size: 15px; font-variant-numeric: tabular-nums; font-weight: 650; min-width: 0; outline: 0; padding: 0; }
.fc-ru-banks__amount span { color: var(--ft-muted); font-weight: 650; }
.fc-ru-banks__amount:focus-within { border-color: #9DBC26; box-shadow: 0 0 0 3px rgba(214, 255, 79, .38); }
/* The wrapper draws the focus ring; the global .fc-fintech :focus-visible outline would add a second one inside. */
.fc-ru-banks__amount input:focus-visible { outline: 0; }

/* Bank icons are app-icon squares, as in the transfers bank combobox (rounded-lg), not round flags. */
.fc-ru-banks .fc-card-filter-select__icon,
.fc-ru-banks .fc-card-filter-select__option-icon { border-radius: 8px; }

/* The card archive pads `.fc-card-filters-advanced form`; here the form wraps the whole shell. */
.fc-ru-banks .fc-card-filters-advanced { padding: 22px; }

/* Toolbar and direction context */
.fc-ru-banks__layout { margin-top: 8px; }
.fc-ru-banks__sanctions a { flex: 0 0 auto; padding-left: 16px; padding-right: 16px; }
.fc-ru-banks__context { align-items: center; background: var(--ft-white); border: 1px solid var(--ft-line); border-radius: 16px; display: flex; flex-wrap: wrap; font-size: 14px; gap: 12px 16px; margin-top: 20px; padding: 14px 18px; }
.fc-ru-banks__context img { border-radius: 10px; height: 36px; object-fit: cover; width: 36px; }
.fc-ru-banks__context span { color: var(--ft-muted); flex: 1 1 320px; }
.fc-ru-banks__context a { align-items: center; color: var(--ft-ink); display: inline-flex; font-size: 13px; font-weight: 700; gap: 6px; text-decoration: none; }
.fc-ru-banks__context a svg { height: 16px; width: 16px; }
.fc-ru-banks__results { margin-top: 24px; }

/* Bank rows: five columns in the catalogue */
/* No recipient-bank badge over the logo here, so the logo column is the logo itself (56px, not 68px). */
.fc-ru-banks__row .fc-transfer-route-logo { height: 56px; width: 56px; }
.fc-ru-banks-guide .fc-transfer-method-card { grid-template-columns: 56px minmax(0, 1fr) 220px 190px; }
.fc-ru-banks__results .fc-transfer-method-card { grid-template-columns: 56px minmax(0, 1fr) 190px 250px 190px; }
.fc-ru-banks__results .fc-ru-banks__open { grid-column: 3; grid-row: 1; }
.fc-ru-banks__results .fc-transfer-method-card__quote { grid-column: 4; grid-row: 1; }
.fc-ru-banks__results .fc-transfer-method-card__action { grid-column: 5; grid-row: 1; }

.fc-ru-banks__initials { align-items: center; background: var(--ft-black); border-radius: inherit; color: var(--ft-white); display: flex; font-size: 15px; font-weight: 800; height: 100%; justify-content: center; letter-spacing: -.02em; width: 100%; }
.fc-ru-banks__flag { align-items: center; background: var(--ft-silver); border-radius: 7px; color: var(--ft-muted); display: inline-flex; font-size: 10px; font-weight: 750; gap: 5px; letter-spacing: .06em; padding: 4px 7px; text-transform: uppercase; vertical-align: middle; }
.fc-ru-banks__flag::before { background: var(--ft-success); border-radius: 50%; content: ""; height: 6px; width: 6px; }
.fc-ru-banks__flag--sanctioned { background: var(--ft-warning-surface); color: var(--ft-warning); }
.fc-ru-banks__flag--sanctioned::before { background: var(--ft-warning); }
/* Name first, chips under it: the name stays near the logo's centre without a description line. */
.fc-ru-banks__row .fc-transfer-method-card__identity h3 { margin-top: 0; }
.fc-ru-banks__chips { align-items: center; display: flex; flex-wrap: wrap; gap: 6px; margin-top: 7px; }
.fc-ru-banks__chips .fc-transfer-method-card__best { margin-bottom: 0; }
.fc-ru-banks__warning { color: var(--ft-warning); font-size: 12.5px; margin-top: 6px; }
.fc-ru-banks__perk { background: var(--ft-lime-wash); border-radius: 7px; color: var(--ft-ink); display: inline-block; font-size: 12px; margin-top: 6px; padding: 3px 8px; }
.fc-ru-banks__open { align-self: center; }
.fc-ru-banks__open-cost { color: var(--ft-ink); font-size: 15px; font-weight: 700; margin-top: 4px; }
.fc-ru-banks__methods { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 8px; }
.fc-ru-banks__methods span { background: var(--ft-silver); border-radius: 7px; color: var(--ft-ink); font-size: 12px; font-weight: 600; line-height: 1; padding: 6px 8px; }
.fc-transfer-unavailable__rows .fc-ru-banks__methods span { color: var(--ft-muted); }

/* Actions */
.fc-ru-banks__action { align-items: flex-end; display: flex; flex-direction: column; gap: 6px; }
.fc-transfer-method-card__action a.fc-ru-banks__cta { background: var(--ft-lime); border-color: var(--ft-lime); color: var(--ft-black); font-weight: 750; }
.fc-transfer-method-card__action a.fc-ru-banks__cta:hover { background: var(--ft-lime-hover); border-color: var(--ft-lime-hover); color: var(--ft-black); }
.fc-transfer-method-card__action a svg { height: 16px; width: 16px; }
.fc-ru-banks__ad { color: var(--ft-muted); font-size: 11px; }

/* Tariff popover */
.fc-ru-banks__tariffs .fc-transfer-rate-popover__row strong { white-space: normal; }
.fc-transfer-rate-popover__row.is-past > span,
.fc-transfer-rate-popover__row.is-past strong { color: var(--ft-muted); text-decoration: line-through; }
.fc-transfer-rate-popover__row.is-future strong { color: var(--ft-warning); }
.fc-transfer-rate-popover__sources span.fc-ru-banks__docs { display: flex; flex-wrap: wrap; gap: 6px 16px; margin-top: 6px; }
.fc-ru-banks__docs a { color: var(--ft-ink); font-size: 12.5px; font-weight: 650; text-underline-offset: 3px; }

/* Guide block */
.fc-ru-banks-guide__kicker { color: var(--ft-ink); }
.fc-ru-banks-guide__list { background: var(--ft-white); border: 1px solid var(--ft-line); border-radius: 20px; }
.fc-ru-banks-guide .fc-transfer-method-card__received { font-size: 21px; letter-spacing: -.03em; }
.fc-ru-banks-guide__more { margin-top: 14px; }
.fc-ru-banks-guide__more a { align-items: center; color: var(--ft-ink); display: inline-flex; font-size: 14px; font-weight: 700; gap: 8px; text-decoration: none; }
.fc-ru-banks-guide__more a svg { height: 16px; width: 16px; }

/* /transfers/ promo */
.fc-ru-banks-promo { align-items: center; background: var(--ft-white); border: 1px solid var(--ft-line); border-radius: 24px; display: flex; flex-wrap: wrap; gap: 20px 32px; justify-content: space-between; padding: 28px 32px; }
.fc-ru-banks-promo__kicker { color: var(--ft-muted); font-size: 11px; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.fc-ru-banks-promo h2 { font-size: 26px; font-weight: 750; letter-spacing: -.02em; line-height: 1.15; margin-top: 6px; text-wrap: balance; }
.fc-ru-banks-promo__text { color: var(--ft-muted); margin-top: 8px; max-width: 60ch; }
.fc-ru-banks-promo__link { align-items: center; background: var(--ft-lime); border-radius: 13px; color: var(--ft-black); display: inline-flex; font-size: 15px; font-weight: 700; gap: 10px; min-height: 52px; padding: 0 22px; text-decoration: none; }
.fc-ru-banks-promo__link:hover { background: var(--ft-lime-hover); }
.fc-ru-banks-promo__link svg { height: 18px; width: 18px; }

/* Route link in transfer comparison rows */
.fc-ru-banks-route-link { color: var(--ft-ink); display: inline-block; font-size: 12px; font-weight: 700; margin-top: 6px; text-decoration: underline; text-underline-offset: 3px; }

@media (max-width: 1100px) {
    .fc-ru-banks-guide .fc-transfer-method-card { grid-template-columns: 56px 1fr 210px; }
    .fc-ru-banks__results .fc-transfer-method-card { grid-template-columns: 56px minmax(0, 1fr) 180px 230px; }
    .fc-ru-banks__results .fc-transfer-method-card__action { grid-column: 2 / -1; grid-row: 2; justify-self: start; }
    .fc-ru-banks__action { align-items: center; flex-direction: row; gap: 12px; }
}

@media (max-width: 820px) {
    .fc-ru-banks-guide .fc-transfer-method-card,
    .fc-ru-banks__results .fc-transfer-method-card { grid-template-columns: 56px 1fr; }
    .fc-ru-banks__results .fc-ru-banks__open,
    .fc-ru-banks__results .fc-transfer-method-card__quote,
    .fc-ru-banks__results .fc-transfer-method-card__action { grid-column: 2; grid-row: auto; }
}

@media (max-width: 600px) {
    .fc-ru-banks-guide .fc-transfer-method-card,
    .fc-ru-banks__results .fc-transfer-method-card { grid-template-columns: 1fr; }
    .fc-ru-banks__results .fc-transfer-route-logo,
    .fc-ru-banks__results .fc-ru-banks__open,
    .fc-ru-banks__results .fc-transfer-method-card__quote,
    .fc-ru-banks__results .fc-transfer-method-card__action { grid-column: 1; grid-row: auto; }
    .fc-ru-banks__action { align-items: stretch; flex-direction: column; }
    .fc-ru-banks__results .fc-transfer-method-card__action { justify-self: stretch; }
    .fc-ru-banks__action a { width: 100%; }
    .fc-ru-banks__sanctions a { flex: 1 1 auto; padding-left: 8px; padding-right: 8px; }
    .fc-ru-banks-promo { padding: 22px; }
}
