/* Wspólna stopka (launch/stopka.py).
   1. Mapa stron: ciemne tło grafitowe z palety marki, znak i opis PerfoState, kolumny linków, przycisk kontaktu.
   2. Pasek marek na samym dole (jasny, bez zmian w układzie): oficjalny znak marki i zwykły napis; po najechaniu
      napis podkreślony, znak powiększony i strzałka w prawy górny róg (link otwiera nową kartę). Bez dymków. */
.ps-stopka{font-size:13px;color:var(--muted, #586477)}

/* 1. Mapa stron */
.ps-stopka__mapa{background:var(--color-graphite, #161616);color:var(--color-on-dark-muted, #c5ced8)}
.ps-stopka__siatka{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(4,minmax(0,1fr));gap:40px 32px;padding-block:64px 56px}
.ps-stopka__o-nas p{margin:18px 0 0;max-width:36ch;font-size:15px;line-height:1.6}
.ps-stopka__logo{display:inline-flex;align-items:center;gap:10px;padding:10px 18px 10px 14px;border-radius:6px;background:#fff;color:var(--color-graphite, #161616);text-decoration:none;font-size:22px;font-weight:650;letter-spacing:-.01em}
.ps-stopka__logo:focus-visible{outline-offset:4px}
.ps-stopka__logo img{display:block;width:38px;height:auto}
.ps-stopka__logo span span{color:var(--blue, #0076fd)}
.ps-stopka__kolumna h2{margin:0 0 18px;font-size:15px;font-weight:500;line-height:1.3;color:var(--color-on-dark-muted, #c5ced8)}
.ps-stopka__kolumna ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.ps-stopka__kolumna li a{display:inline-flex;align-items:center;gap:6px;min-height:32px;color:#fff;text-decoration:none;font-size:15px;font-weight:600;line-height:1.35;
  text-decoration-line:underline;text-decoration-color:transparent;text-underline-offset:4px;text-decoration-thickness:1px;transition:text-decoration-color 200ms ease,color 200ms ease}
.ps-stopka__kolumna li a:hover,.ps-stopka__kolumna li a:focus-visible{text-decoration-color:currentColor}
.ps-stopka__wszystkie a{color:var(--color-on-dark-muted, #c5ced8)!important;font-weight:500!important}
.ps-stopka__ikona{width:16px;height:16px;flex:none;transition:transform 200ms ease}
.ps-stopka__wszystkie a:hover .ps-stopka__ikona,.ps-stopka__wszystkie a:focus-visible .ps-stopka__ikona{transform:translateX(3px)}
.ps-stopka__mapa a:focus-visible{outline:2px solid #fff;outline-offset:3px;border-radius:4px}
.ps-stopka .ps-stopka__cta{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 20px;border-radius:4px;white-space:nowrap;
  background:var(--action, #0068df);color:#fff;font-size:15px;font-weight:600;text-decoration:none;transition:background-color 200ms ease}
.ps-stopka .ps-stopka__cta:hover,.ps-stopka .ps-stopka__cta:focus-visible{background:var(--action-hover, #005bc4)}
.ps-stopka__cta .ps-stopka__ikona{width:18px;height:18px}
.ps-stopka__cta:hover .ps-stopka__ikona{transform:translateX(3px)}
@media(max-width:1100px){.ps-stopka__siatka{grid-template-columns:repeat(3,minmax(0,1fr))}.ps-stopka__o-nas{grid-column:1/-1}}
@media(max-width:700px){.ps-stopka__siatka{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 20px;padding-block:48px 40px}.ps-stopka__kolumna:last-child{grid-column:1/-1}}
@media(max-width:340px){.ps-stopka__siatka{grid-template-columns:minmax(0,1fr)}}

/* Pigułka „Powered by …” (stopka.js): biała, rozsuwa się razem z pisanym tekstem */
.ps-stopka__powered{margin:20px 0 0!important}
.ps-stopka__pigulka{display:inline-flex;align-items:center;white-space:nowrap;overflow:hidden;box-sizing:border-box;padding:7px 16px;border-radius:999px;background:#fff;color:var(--color-graphite, #161616);font-size:14px;font-weight:500;line-height:1.3;transition:width 160ms cubic-bezier(.22,1,.36,1)}
.ps-stopka__pigulka b{margin-left:.3em;font-weight:700;color:#0068df}
.ps-stopka__pigulka--pisze b::after{content:"";display:inline-block;width:2px;height:1.05em;margin-left:2px;vertical-align:-.15em;background:currentColor;animation:ps-kursor 1s steps(1) infinite}
@keyframes ps-kursor{50%{opacity:0}}

/* 2. Pasek marek (na samym dole) */
.ps-stopka__wnetrze{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 32px;padding-block:20px}
.ps-stopka__nota{margin:0}
.ps-stopka__prawne{display:inline-block;padding-block:10px;color:inherit;text-decoration:underline;text-decoration-color:currentColor;text-underline-offset:4px;text-decoration-thickness:1px}
.ps-stopka__prawne:hover,.ps-stopka__prawne:focus-visible{color:var(--action, #0068df)}
.ps-stopka__marki{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px}
.ps-stopka__etykieta{font-weight:600;color:var(--ink)}
.ps-stopka__marki ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:8px 22px}
.ps-stopka__marki a{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:var(--ink);text-decoration:none;font-size:14px;font-weight:400}
.ps-stopka__nazwa{text-decoration:underline;text-decoration-color:transparent;text-underline-offset:4px;text-decoration-thickness:1px;transition:text-decoration-color 200ms ease}
.ps-stopka__znak{display:block;width:28px;height:28px;object-fit:contain;transition:transform 260ms cubic-bezier(.34,1.56,.64,1)}
.ps-stopka__strzalka{width:14px;height:14px;flex:none;margin-left:-4px;opacity:0;transform:translate(-4px,4px);transition:opacity 200ms ease,transform 200ms ease}
.ps-stopka__marki a:hover .ps-stopka__nazwa,.ps-stopka__marki a:focus-visible .ps-stopka__nazwa{text-decoration-color:currentColor}
.ps-stopka__marki a:hover .ps-stopka__znak,.ps-stopka__marki a:focus-visible .ps-stopka__znak{transform:scale(1.18)}
.ps-stopka__marki a:hover .ps-stopka__strzalka,.ps-stopka__marki a:focus-visible .ps-stopka__strzalka{opacity:1;transform:none}
.ps-stopka__sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
@media(max-width:700px){.ps-stopka__wnetrze{flex-direction:column;align-items:flex-start}}
@media(prefers-reduced-motion:reduce){.ps-stopka__pigulka{transition:none}.ps-stopka__znak,.ps-stopka__nazwa,.ps-stopka__strzalka,.ps-stopka__ikona,.ps-stopka__kolumna li a{transition:none}}

/* Zapytaj AI o PerfoState (launch/stopka.py): logotypy asystentów na białych kafelkach (czarne znaki na ciemnej stopce) */
.ps-stopka__ai{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px 32px;padding-block:28px 32px;border-top:1px solid rgb(255 255 255 / 12%)}
.ps-stopka__ai h2{margin:0 0 4px;font-size:17px;color:#fff}
.ps-stopka__ai-tekst p{margin:0;font-size:14px}
.ps-stopka__ai-lista{display:flex;flex-wrap:wrap;gap:10px}
.ps-stopka__ai-kafel{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 14px;border-radius:8px;background:#fff;color:var(--color-graphite, #161616);text-decoration:none;font-size:14px;font-weight:600;transition:transform 200ms ease,box-shadow 200ms ease}
.ps-stopka__ai-kafel img{display:block;width:24px;height:24px;object-fit:contain}
.ps-stopka__ai-kafel[data-ai="chatgpt"] img{width:32px;height:32px;margin:-4px}
.ps-stopka__ai-kafel:hover,.ps-stopka__ai-kafel:focus-visible{transform:translateY(-2px);box-shadow:0 8px 20px rgb(0 0 0 / 35%)}
.ps-stopka__ai-nota{grid-column:1/-1;margin:0;font-size:12px;opacity:.75}
@media(max-width:800px){.ps-stopka__ai{grid-template-columns:minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){.ps-stopka__ai-kafel{transition:none}.ps-stopka__ai-kafel:hover{transform:none}}
