/* Shared site chrome. Scoped IDs protect it from the older service-page styles. */
html { scroll-padding-top: 10rem; }
body.ab-chrome-page { margin: 0 !important; padding-top: 0 !important; }
body.ab-chrome-page > main { margin-top: 0 !important; }
html[data-ab-language="en"] .pl-text, html[data-ab-language="pl"] .en-text { display: none !important; }
html[data-ab-language="en"] .en-text, html[data-ab-language="pl"] .pl-text { display: revert !important; }
.ab-skip-link { position: fixed; z-index: 11000; top: .5rem; left: .5rem; transform: translateY(-160%); background: #e0bf61; color: #101724; padding: .8rem 1rem; border-radius: 6px; font: 600 16px/1.3 system-ui, sans-serif; }
.ab-skip-link:focus { transform: translateY(0); }
.ab-main-anchor { display: block; height: 0; scroll-margin-top: 10rem; outline: none; }
body.ab-chrome-page .ab-team-directory { max-width: 1200px; margin: 2rem auto; padding: 0 2rem; }
body.ab-chrome-page .ab-team-directory a { display: inline-flex; align-items: center; min-height: 44px; padding: .65rem 1rem; border: 1px solid #806e38; border-radius: 7px; background: #c9a84c14; color: #edcf7c; font: 600 .9rem/1.4 "Segoe UI", system-ui, sans-serif; text-decoration: none; }
body.ab-chrome-page .ab-team-directory a:hover { background: #c9a84c28; }
#topNav.ab-chrome-header, #topNav.ab-chrome-header * { box-sizing: border-box; }
#topNav.ab-chrome-header { position: sticky; inset: 0 0 auto; z-index: 1000; width: 100%; margin: 0; padding: 0; background: #0b101a; color: #e7edf6; border-bottom: 1px solid #263143; font: 500 14px/1.4 "Segoe UI", system-ui, sans-serif; }
#topNav.ab-chrome-header .nav-container { display: grid; grid-template-areas: "brand menu contact language search"; grid-template-columns: auto minmax(0, 1fr) auto auto minmax(210px, 250px); align-items: center; gap: 1rem; width: 100%; max-width: 1560px; min-height: 82px; margin: 0 auto; padding: .85rem 2rem; }
#topNav.ab-chrome-header .logo-link { grid-area: brand; display: inline-flex; align-items: center; gap: .6rem; width: max-content; min-width: 0; margin: 0; padding: 0; text-decoration: none; color: inherit; }
#topNav.ab-chrome-header .nav-logo-img { display: block; width: 40px; height: 40px; flex: 0 0 auto; object-fit: contain; }
#topNav.ab-chrome-header .logo-text-wrap { display: flex; flex-direction: column; align-items: flex-start; gap: .12rem; white-space: nowrap; line-height: 1.1; }
#topNav.ab-chrome-header .logo-highlight { color: #d6b654; font-size: 1.2rem; font-weight: 800; }
#topNav.ab-chrome-header .logo-sub { display: block; color: #abb9cc; font-size: .68rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
#topNav.ab-chrome-header .nav-menu { grid-area: menu; position: static; display: flex; flex-direction: row; align-items: center; justify-content: center; flex-wrap: nowrap; gap: clamp(.65rem, 1.2vw, 1.3rem); width: auto; margin: 0; padding: 0; border: 0; background: transparent; box-shadow: none; transform: none; visibility: visible; opacity: 1; }
#topNav.ab-chrome-header .nav-menu .nav-link { display: inline-flex; align-items: center; min-height: 42px; margin: 0; padding: .45rem 0; color: #b2bfd0; font-size: .86rem; line-height: 1.3; font-weight: 600; white-space: nowrap; text-decoration: none; border: 0; background: transparent; }
#topNav.ab-chrome-header .nav-menu .nav-link:hover, #topNav.ab-chrome-header .nav-menu .nav-link[aria-current="page"] { color: #ebcc79; }
#topNav.ab-chrome-header .nav-right { display: contents; }
#topNav.ab-chrome-header .nav-cta-btn { grid-area: contact; display: inline-flex; align-items: center; justify-content: center; width: auto; min-width: max-content; max-width: none; min-height: 42px; margin: 0; padding: .55rem .9rem; border: 1px solid #806e38; border-radius: 7px; background: #c9a84c14; color: #edcf7c; font: 700 .86rem/1.2 "Segoe UI", system-ui, sans-serif; white-space: nowrap; text-decoration: none; }
#topNav.ab-chrome-header .nav-cta-btn:hover { background: #c9a84c28; }
#topNav.ab-chrome-header .lang-switch { grid-area: language; display: flex; align-items: center; gap: .3rem; margin: 0; padding: 0; border: 0; background: transparent; }
#topNav.ab-chrome-header .lang-btn { display: inline-grid; place-items: center; min-width: 36px; min-height: 36px; margin: 0; padding: .35rem .4rem; border: 1px solid #435168; border-radius: 6px; background: transparent; color: #aebcd0; font: 700 .78rem/1.2 "Segoe UI", system-ui, sans-serif; text-decoration: none; cursor: pointer; }
#topNav.ab-chrome-header .lang-btn.active { background: #d0af52; border-color: #d0af52; color: #101724; }
#topNav.ab-chrome-header .hamburger { grid-area: toggle; display: none; place-items: center; width: 40px; height: 40px; min-height: 40px; margin: 0; padding: 0; border: 1px solid #435168; border-radius: 7px; background: #142034; color: #e5edf8; font-size: 1.3rem; cursor: pointer; }
#topNav.ab-chrome-header .ab-site-search { grid-area: search; display: flex; align-items: stretch; order: initial; gap: .35rem; width: 100%; min-width: 0; margin: 0; }
#topNav.ab-chrome-header .ab-site-search input { flex: 1 1 auto; width: 0; min-width: 0; min-height: 42px; margin: 0; padding: .6rem .65rem; border: 1px solid #45536a; border-radius: 7px; background: #121c2b; color: #f2f5fb; font: inherit; }
#topNav.ab-chrome-header .ab-site-search button { flex: 0 0 auto; min-height: 42px; margin: 0; padding: .6rem .7rem; border: 1px solid #d0af52; border-radius: 7px; background: #d0af52; color: #101724; font: 700 .8rem/1.2 "Segoe UI", system-ui, sans-serif; white-space: nowrap; cursor: pointer; }
#topNav.ab-chrome-header :focus-visible, #ab-site-footer.ab-chrome-footer :focus-visible { outline: 3px solid #ebce81; outline-offset: 4px; }
#ab-site-footer.ab-chrome-footer, #ab-site-footer.ab-chrome-footer * { box-sizing: border-box; }
#ab-site-footer.ab-chrome-footer { position: relative; width: 100%; margin: 4rem 0 0; padding: 0; border-top: 1px solid #2b3545; background: #0a101b; color: #adbace; font: 400 14px/1.7 "Segoe UI", system-ui, sans-serif; text-align: left; }
#ab-site-footer.ab-chrome-footer .ab-footer-inner { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1.1fr; gap: 2.4rem; width: 100%; max-width: 1320px; margin: 0 auto; padding: 3rem 2rem 2.5rem; }
#ab-site-footer.ab-chrome-footer .ab-footer-logo { display: inline-flex; align-items: center; gap: .7rem; color: #d6b654; font-size: 1.3rem; font-weight: 800; line-height: 1.25; text-decoration: none; }
#ab-site-footer.ab-chrome-footer .ab-footer-logo img { display: block; object-fit: contain; width: 40px; height: 40px; }
#ab-site-footer.ab-chrome-footer .ab-footer-logo span span { display: block; color: #e4eaf3; font-size: .85rem; font-weight: 600; }
#ab-site-footer.ab-chrome-footer p { margin: .8rem 0 0; color: #adbace; font-size: .875rem; line-height: 1.65; }
#ab-site-footer.ab-chrome-footer h2 { margin: .15rem 0 .9rem; color: #f2f5fa; font: 700 .95rem/1.4 "Segoe UI", system-ui, sans-serif; letter-spacing: 0; text-transform: none; }
#ab-site-footer.ab-chrome-footer h2::before, #ab-site-footer.ab-chrome-footer h2::after { content: none; }
#ab-site-footer.ab-chrome-footer ul { display: grid; gap: .55rem; margin: 0; padding: 0; list-style: none; }
#ab-site-footer.ab-chrome-footer li { margin: 0; padding: 0; }
#ab-site-footer.ab-chrome-footer a { color: #b4c1d3; text-decoration: none; overflow-wrap: anywhere; }
#ab-site-footer.ab-chrome-footer a:hover { color: #ebcc79; text-decoration: underline; text-underline-offset: .2em; }
#ab-site-footer.ab-chrome-footer .ab-footer-socials { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 1rem; }
#ab-site-footer.ab-chrome-footer .team-social { display: inline-grid; place-items: center; width: 34px; height: 34px; border: 1px solid #48556a; border-radius: 50%; color: #ebcc79; font-weight: 700; text-decoration: none; }
#ab-site-footer.ab-chrome-footer #ab-cookie-slot { display: block; margin-top: .65rem; }
#ab-site-footer.ab-chrome-footer #ab-cookie-slot button { position: static !important; display: inline-block; margin: 0; padding: .2rem 0; border: 0; border-radius: 0; background: transparent; color: #d9bf76; font: inherit; line-height: 1.7; text-decoration: underline; text-underline-offset: .2em; cursor: pointer; }
#ab-site-footer.ab-chrome-footer .ab-footer-bottom { display: flex; justify-content: space-between; gap: 1rem 2rem; max-width: 1256px; margin: 0 auto; padding: 1.3rem 0 1.8rem; border-top: 1px solid #263143; }
#ab-site-footer.ab-chrome-footer .ab-footer-bottom p { max-width: 580px; margin: 0; font-size: .76rem; color: #8e9db2; }
@media (min-width: 900px) and (max-width: 1319px) {
  #topNav.ab-chrome-header .nav-container { grid-template-areas: "brand search contact language" "menu menu menu menu"; grid-template-columns: minmax(180px, 1fr) minmax(260px, 400px) auto auto; gap: .4rem 1rem; padding: .7rem 2rem .4rem; }
  #topNav.ab-chrome-header .nav-menu { justify-content: center; gap: 2rem; }
  #topNav.ab-chrome-header .nav-menu .nav-link { min-height: 36px; }
}
@media (max-width: 899px) {
  #topNav.ab-chrome-header .nav-container { grid-template-areas: "brand language toggle" "search search contact"; grid-template-columns: minmax(0, 1fr) auto auto; gap: .6rem; padding: .75rem 1rem; }
  #topNav.ab-chrome-header .nav-menu { display: none; }
  #topNav.ab-chrome-header .hamburger { display: grid; justify-self: end; }
  #topNav.ab-chrome-header .nav-menu.is-open { grid-area: menu; display: grid; justify-content: stretch; gap: 0; padding-top: .4rem; border-top: 1px solid #2c384b; }
  #topNav.ab-chrome-header .nav-container:has(.nav-menu.is-open) { grid-template-areas: "brand language toggle" "search search contact" "menu menu menu"; }
  #topNav.ab-chrome-header .nav-menu .nav-link { min-height: 44px; padding: .6rem .2rem; }
  #topNav.ab-chrome-header .nav-cta-btn { padding-inline: .6rem; font-size: .8rem; }
  #ab-site-footer.ab-chrome-footer .ab-footer-inner { grid-template-columns: 1fr 1fr; gap: 2rem; padding: 2.4rem 1.25rem; }
  #ab-site-footer.ab-chrome-footer .ab-footer-bottom { margin: 0 1.25rem; flex-direction: column; }
}
@media (max-width: 480px) {
  #topNav.ab-chrome-header .nav-container { padding: .65rem .8rem; gap: .55rem; }
  #topNav.ab-chrome-header .nav-logo-img { width: 34px; height: 34px; }
  #topNav.ab-chrome-header .logo-highlight { font-size: 1.05rem; }
  #topNav.ab-chrome-header .logo-sub { font-size: .59rem; letter-spacing: .035em; }
  #topNav.ab-chrome-header .lang-btn { min-width: 32px; }
  #ab-site-footer.ab-chrome-footer .ab-footer-inner { grid-template-columns: 1fr; gap: 1.8rem; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto !important; } }
@media (max-width: 359px) {
  #topNav.ab-chrome-header .logo-link { gap: .4rem; }
  #topNav.ab-chrome-header .nav-logo-img { width: 28px; height: 28px; }
  #topNav.ab-chrome-header .logo-sub { font-size: .52rem; letter-spacing: .02em; }
  #topNav.ab-chrome-header .logo-highlight { font-size: 1rem; }
}
