/* Informacja Kredytowa: katalog i oferty, wariant A. Scoped to directory content. */
:is(.fbe-directory, .fb-dir.ik-directory-hub) {
  --fbe-ink: var(--ik-ink, #1b304b);
  --fbe-muted: var(--ik-muted, #52647b);
  --fbe-accent: var(--ik-accent, #275b91);
  --fbe-hover: var(--ik-hover, #194675);
  --fbe-soft: var(--ik-soft, #eaf0f7);
  --fbe-bg: var(--ik-bg, #f5f7fa);
  --fbe-line: var(--ik-line, #d1dce8);
  --fbe-surface: var(--ik-surface, #fdfefe);
  box-sizing: border-box;
  width: 100%; max-width: 1360px; min-width: 0;
  margin: 28px auto 56px; padding: 0;
  color: var(--fbe-ink);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  font-size: 17px; line-height: 1.65;
  overflow-wrap: anywhere;
}
.fbe-content-area { width: 100%; min-width: 0; float: none; }
.fbe-content-area > .site-main { margin: 0; }
:is(.fbe-directory, .ik-directory-hub) *,
:is(.fbe-directory, .ik-directory-hub) *::before,
:is(.fbe-directory, .ik-directory-hub) *::after { box-sizing: border-box; }
:is(.fbe-directory, .ik-directory-hub) :is(h1,h2,h3) { color: var(--fbe-ink); line-height: 1.22; letter-spacing: -.028em; }
:is(.fbe-directory, .ik-directory-hub) h1 { font-size: clamp(32px,3.6vw,48px); font-weight: 720; margin: 0 0 20px; }
:is(.fbe-directory, .ik-directory-hub) h2 { font-size: clamp(25px,2.4vw,32px); font-weight: 700; margin: 0 0 20px; }
:is(.fbe-directory, .ik-directory-hub) h3 { font-size: 21px; font-weight: 680; margin: 24px 0 12px; }
:is(.fbe-directory, .ik-directory-hub) p { margin: 0 0 18px; max-width: none; }
:is(.fbe-directory, .ik-directory-hub) a { color: var(--fbe-accent); text-underline-offset: 4px; }
:is(.fbe-directory, .ik-directory-hub) :is(a,button,input,select,textarea,summary):focus-visible { outline: 3px solid var(--fbe-accent); outline-offset: 4px; }
:is(.fbe-directory, .ik-directory-hub) :is(input,select,textarea) { max-width: 100%; min-width: 0; font: inherit; }
:is(.fbe-directory, .ik-directory-hub) [hidden] { display: none !important; }
.fbe-breadcrumbs { display: flex; flex-wrap: wrap; align-items: baseline; gap: 5px 9px; font-size: 14px; color: var(--fbe-muted); margin: 0 0 26px; }
.fbe-breadcrumbs > * { min-width: 0; max-width: 100%; }
.fbe-directory .fbe-breadcrumbs a { color: var(--fbe-muted); }
.fbe-heading { margin-bottom: 32px; }
.fbe-eyebrow { color: var(--fbe-accent); font-size: 12px; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.fbe-address { font-size: 20px; font-style: normal; line-height: 1.5; margin: 0 0 18px; }
.fbe-local-links { display: flex; align-items: center; flex-wrap: wrap; gap: 16px 24px; font-size: 15px; margin-top: 22px; }
.fbe-directory .fbe-map-button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; max-width: 100%; padding: 12px 20px; border: 1px solid var(--fbe-accent); border-radius: 6px; color: var(--fbe-accent); background: var(--fbe-surface); font-weight: 650; text-align: center; text-decoration: none; }
.fbe-directory .fbe-map-button:hover { background: var(--fbe-soft); }
.fbe-visit-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 36px; align-items: start; padding-block: 30px; border-top: 1px solid var(--fbe-line); border-bottom: 1px solid var(--fbe-line); }
.fbe-card { min-width: 0; }
.fbe-card > h2 { font-size: clamp(24px,2.1vw,29px); }
.fbe-hours { width: 100%; margin: 12px 0 20px; }
.fbe-hours-row { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 8px 14px; padding: 11px 0; border-bottom: 1px solid var(--fbe-line); font-variant-numeric: tabular-nums; }
.fbe-hours-row.fbe-three, .fbe-hours-head:has(>:nth-child(3)) { grid-template-columns: repeat(3,minmax(0,1fr)); }
.fbe-hours-head { font-weight: 700; }
.fbe-cell-label { display: none; }
.fbe-unit-hours + .fbe-unit-hours, .fbe-unit-detail + .fbe-unit-detail { border-top: 2px solid var(--fbe-line); padding-top: 24px; margin-top: 26px; }
.fbe-unit-detail > h3:first-child { margin-top: 0; }
.fbe-alert { padding: 12px 16px; background: #fff3e8; border-left: 4px solid #95400f; color: #6f2d09; font-weight: 650; }
.fbe-notice { padding: 12px 16px; background: var(--fbe-bg); border-left: 3px solid var(--fbe-muted); }
.fbe-directory ul { margin: 12px 0 22px; padding-left: 24px; }
.fbe-directory li { margin: 6px 0; padding-left: 2px; }
.fbe-directory details { padding: 16px 0; border-bottom: 1px solid var(--fbe-line); }
.fbe-directory summary { cursor: pointer; font-weight: 650; min-height: 44px; }
.fbe-directory details p { margin-top: 12px; }
.fbe-prose { width: 100%; max-width: none; margin: 28px 0; }
.fbe-prose :is(p,ul,ol) { max-width: none; }
.fbe-directory :is(.fbe-offers,.fbe-related) { margin: 0; padding: 36px 0; border-bottom: 1px solid var(--fbe-line); }
.fbe-offers-intro { color: var(--fbe-muted); }
.fbe-offer-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.fbe-offer { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; padding: 24px; border: 1px solid var(--fbe-line); border-radius: 8px; background: var(--fbe-surface); }
.fbe-offer h3 { margin: 0 0 14px; font-size: 22px; }
.fbe-offer p { color: var(--fbe-muted); font-size: 16px; }
.fbe-offer .fbe-cta { margin-top: auto; }
.fbe-directory .fbe-cta, .fbe-directory .fbe-cta:visited { display: inline-flex; justify-content: center; align-items: center; min-height: 48px; width: 100%; padding: 12px 18px; border: 1px solid var(--fbe-accent); border-radius: 6px; background: var(--fbe-accent); color: #fff; font-size: 16px; font-weight: 650; line-height: 1.4; text-align: center; text-decoration: none; }
.fbe-directory .fbe-cta:hover { color: #fff; background: var(--fbe-hover); border-color: var(--fbe-hover); }
.fbe-directory .fbe-cta-secondary, .fbe-directory .fbe-cta-secondary:visited { background: transparent; color: var(--fbe-accent); }
.fbe-directory .fbe-cta-secondary:hover { background: var(--fbe-soft); color: var(--fbe-accent); border-color: var(--fbe-accent); }
.fbe-directory .fbe-disclosure { font-size: 14px; color: var(--fbe-muted); margin: 20px 0 28px; }
.fbe-secondary { display: inline-flex; align-items: center; min-height: 44px; font-weight: 650; }
.fbe-directory a[href^="tel:"] { display: inline-block; white-space: nowrap; }
.fbe-directory table { width: 100%; max-width: 100%; border-collapse: collapse; }
.fbe-prose table { display: block; overflow-x: auto; }
.fbe-directory :is(th,td) { padding: 12px; border: 1px solid var(--fbe-line); text-align: left; vertical-align: top; }
.fbe-hours .fbe-hours-head.fbe-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); clip-path: inset(50%); white-space: nowrap; border: 0; }
/* Existing bank/city lists and native GeneratePress shortcode hubs. */
main.fb-dir.fbe-index { width: 100%; max-width: 1360px; min-width: 0; margin: 28px auto 56px; padding: 0; }
.fb-dir.ik-directory-hub { margin: 22px 0 0; padding: 0; }
:is(.fbe-index,.ik-directory-hub) .fb-breadcrumbs [aria-current="page"] { max-width: none; white-space: normal; }
:is(.fbe-index,.ik-directory-hub) :is(.fb-cards,.fb-city-list) { padding: 0; list-style: none; }
:is(.fbe-index,.ik-directory-hub) .fb-cards { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; margin: 24px 0; }
:is(.fbe-index,.ik-directory-hub) .fb-cards > li { min-width: 0; padding: 0; margin: 0; }
:is(.fbe-index,.ik-directory-hub) .fb-cards article { min-width: 0; height: 100%; padding: 24px; border: 1px solid var(--fbe-line); border-radius: 8px; background: var(--fbe-surface); }
:is(.fbe-index,.ik-directory-hub) .fb-cards h2 { font-size: 22px; margin: 0 0 14px; }
:is(.fbe-index,.ik-directory-hub) .fb-cards :is(h2,h3) a { text-decoration: none; }
:is(.fbe-index,.ik-directory-hub) .fb-cards :is(h2,h3) a:hover { text-decoration: underline; }
:is(.fbe-index,.ik-directory-hub) .fb-city-list { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px 24px; }
:is(.fbe-index,.ik-directory-hub) .fb-city-list a { display: inline-flex; align-items: center; min-height: 44px; }
:is(.fbe-index,.ik-directory-hub) .fb-search { margin: 22px 0 28px; }
:is(.fbe-index,.ik-directory-hub) .fb-search label { display: block; font-weight: 650; margin-bottom: 10px; }
:is(.fbe-index,.ik-directory-hub) .fb-search > div { display: flex; flex-wrap: wrap; gap: 12px; }
:is(.fbe-index,.ik-directory-hub) .fb-search input { flex: 1 1 260px; min-height: 48px; min-width: 0; padding: 11px 14px; border: 1px solid var(--fbe-line); border-radius: 6px; background: var(--fbe-surface); color: var(--fbe-ink); }
:is(.fbe-index,.ik-directory-hub) .fb-search button { min-height: 48px; padding: 12px 22px; border: 1px solid var(--fbe-accent); border-radius: 6px; background: var(--fbe-accent); color: white; font: inherit; font-weight: 650; cursor: pointer; }
:is(.fbe-index,.ik-directory-hub) .fb-search button:hover { background: var(--fbe-hover); }
:is(.fbe-index,.ik-directory-hub) :is(.fb-pagination,.fb-city-pagination) { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin: 24px 0; }
:is(.fbe-index,.ik-directory-hub) :is(.fb-pagination,.fb-city-pagination) :is(a,[aria-current]) { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 9px 13px; border: 1px solid var(--fbe-line); border-radius: 6px; text-decoration: none; }
:is(.fbe-index,.ik-directory-hub) :is(.fb-pagination,.fb-city-pagination) [aria-current] { background: var(--fbe-accent); color: #fff; font-weight: 700; }
:is(.fbe-index,.ik-directory-hub) :is(#miasta,#placowki) { scroll-margin-top: 70px; }
.fbe-index .fbe-editor-link { font-size: 14px; color: var(--fbe-muted); }
:is(.fbe-index,.ik-directory-hub) .f1-bank-city-cta { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; font-weight: 650; }
:is(.fbe-index,.ik-directory-hub) :is(.f1-bank-city-place,.f1-bank-city-types,.f1-bank-city-hours) { font-size: 15px; color: var(--fbe-muted); }
@media (max-width: 1000px) {
  .fbe-visit-grid { gap: 28px; }
  .fbe-offer-grid, :is(.fbe-index,.ik-directory-hub) .fb-cards { grid-template-columns: repeat(2,minmax(0,1fr)); }
  :is(.fbe-index,.ik-directory-hub) .fb-city-list { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 800px) {
  .fbe-visit-grid { grid-template-columns: minmax(0,1fr); }
  .fbe-visit-grid > .fbe-card + .fbe-card { border-top: 1px solid var(--fbe-line); padding-top: 28px; }
  :is(.fbe-directory,.fb-dir.ik-directory-hub), main.fb-dir.fbe-index { margin-top: 22px; }
  .fbe-address { font-size: 18px; }
}
@media (max-width: 600px) {
  .fbe-offer-grid, :is(.fbe-index,.ik-directory-hub) .fb-cards { grid-template-columns: minmax(0,1fr); }
  :is(.fbe-index,.ik-directory-hub) .fb-city-list { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .fbe-offer, :is(.fbe-index,.ik-directory-hub) .fb-cards article { padding: 20px; }
  .fbe-directory :is(.fbe-offers,.fbe-related) { padding-block: 28px; }
}
@media (max-width: 390px) {
  .fbe-directory h1 { font-size: 31px; }
  .fbe-hours-row { gap: 6px; }
  .fbe-hours-row.fbe-three { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .fbe-hours-row.fbe-three [role="rowheader"] { grid-column: 1/-1; font-weight: 650; }
  .fbe-hours-row.fbe-three .fbe-cell-label { display: block; font-size: 13px; }
  .fbe-hours-head:has(>:nth-child(3)) { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .fbe-local-links { gap: 12px 18px; }
  :is(.fbe-index,.ik-directory-hub) .fb-city-list { grid-template-columns: minmax(0,1fr); }
}
@media print {
  :is(.fbe-directory,.fb-dir.ik-directory-hub), main.fb-dir.fbe-index { width: 100%; max-width: none; margin: 0; }
  .fbe-directory :is(.fbe-map-button,.fbe-cta,.fbe-editor-link) { display: none; }
  .fbe-visit-grid, .fbe-offer-grid { display: block; }
  .fbe-card, .fbe-offer { break-inside: avoid; margin-bottom: 20px; }
}
