/* Wspólny nagłówek i stopka strony www (templates/_site_nav.html.twig, _site_footer.html.twig): strona główna,
   poradniki, strona dla sprzedających, dokumenty i usuwanie konta. Kolory zdefiniowane na samych elementach -
   strony z jasnym tłem (dokumenty) nie muszą mieć zmiennych strony głównej. */
.site-nav, .site-footer {
    --sc-purple: #7C3AED; --sc-purple-light: #A78BFA; --sc-purple-dark: #4C1D95;
    --sc-dark: #0A0A0A; --sc-border: #2A2A2A; --sc-text: #EDEDED; --sc-muted: #A3A3A3;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; line-height: 1.6; box-sizing: border-box;
}
.site-nav *, .site-footer * { box-sizing: border-box; margin: 0; padding: 0; }
/* Także na stronach z body jako kolumną flex (usuwanie konta) - pełna szerokość */
.site-nav, .site-footer { width: 100%; align-self: stretch; }

/* ── NAGŁÓWEK ── */
.site-nav {
    position: sticky; top: 0; z-index: 100; display: flex; align-items: center; justify-content: space-between;
    padding: 1rem 2rem; background: rgba(10, 10, 10, .92); backdrop-filter: blur(12px); border-bottom: 1px solid var(--sc-border);
}
/* Strona główna: pasek przypięty nad hero (hero ma odstęp na pasek) */
.site-nav.fixed { position: fixed; left: 0; right: 0; background: rgba(10, 10, 10, .85); }
.nav-logo { display: flex; align-items: center; text-decoration: none; }
.nav-logo img { height: 26px; width: auto; display: block; }
.nav-right { display: flex; align-items: center; gap: 1.5rem; }
.nav-link { color: var(--sc-muted); text-decoration: none; font-size: .9rem; font-weight: 500; transition: color .2s; white-space: nowrap; }
.nav-link:hover, .nav-link[aria-current="page"] { color: #fff; }
.nav-link-short { display: none; }
.nav-cta {
    display: inline-flex; align-items: center; gap: .5rem; white-space: nowrap; flex: 0 0 auto;
    background: var(--sc-purple); color: #fff; text-decoration: none; font-weight: 600; font-size: .9rem;
    padding: .55rem 1.1rem; border-radius: 10px; transition: background .2s;
}
.nav-cta:hover { background: var(--sc-purple-dark); }
.nav-cta-short { display: none; }

/* Przełącznik języka: <details> działa bez skryptu */
.lang-menu { position: relative; }
.lang-menu summary {
    list-style: none; cursor: pointer; display: flex; align-items: center; gap: .4rem;
    color: var(--sc-muted); font-size: .85rem; font-weight: 600; padding: .4rem .5rem; border-radius: 8px;
    border: 1px solid transparent; transition: color .2s, border-color .2s; user-select: none;
}
.lang-menu summary::-webkit-details-marker { display: none; }
.lang-menu summary:hover, .lang-menu[open] summary { color: #fff; border-color: var(--sc-border); }
.lang-menu img { display: block; width: 20px; height: 15px; object-fit: cover; border-radius: 3px; box-shadow: 0 0 0 1px rgba(255,255,255,.15); }
.lang-caret { transition: transform .2s; }
.lang-menu[open] .lang-caret { transform: rotate(180deg); }
.lang-list {
    position: absolute; right: 0; top: calc(100% + .5rem); min-width: 190px; list-style: none; padding: .35rem;
    background: #161616; border: 1px solid var(--sc-border); border-radius: 12px; box-shadow: 0 18px 40px rgba(0,0,0,.5);
    max-height: 70vh; overflow-y: auto;
}
.lang-list a {
    display: flex; align-items: center; gap: .65rem; padding: .5rem .7rem; border-radius: 8px;
    color: var(--sc-text); text-decoration: none; font-size: .9rem; white-space: nowrap;
}
.lang-list a:hover, .lang-list a:focus-visible { background: rgba(167,139,250,.14); }
.lang-list a[aria-current="page"] { color: #fff; font-weight: 700; background: rgba(124,58,237,.25); }

/* ── STOPKA ── */
.site-footer { padding: 3rem 2rem; text-align: center; border-top: 1px solid var(--sc-border); background: var(--sc-dark); color: var(--sc-text); }
.site-footer .footer-logo { display: flex; justify-content: center; margin-bottom: 1.25rem; }
.site-footer .footer-logo img { height: 22px; width: auto; display: block; }
.site-footer .footer-links { display: flex; gap: .6rem 1.5rem; justify-content: center; flex-wrap: wrap; margin-bottom: 1.25rem; list-style: none; }
.site-footer .footer-links a, .consent-open { color: var(--sc-muted); text-decoration: none; font-size: .88rem; transition: color .2s; }
.site-footer .footer-links a:hover, .consent-open:hover { color: var(--sc-purple-light); }
.consent-open { background: none; border: 0; padding: 0; font: inherit; font-size: .88rem; cursor: pointer; }
.site-footer .footer-langs { display: flex; flex-wrap: wrap; justify-content: center; gap: .35rem 1.1rem; list-style: none; margin-bottom: 1.25rem; }
.site-footer .footer-langs a { color: var(--sc-muted); text-decoration: none; font-size: .82rem; }
.site-footer .footer-langs a:hover { color: var(--sc-purple-light); }
.site-footer .footer-langs a[aria-current="page"] { color: #fff; font-weight: 700; }
/* Przygaszony, ale z kontrastem 5,3:1 do tła (WCAG AA) */
.site-footer .footer-copy { font-size: .8rem; color: #8A8A8A; }
.site-footer .footer-made { display: flex; align-items: center; justify-content: center; gap: .45rem; margin-top: .6rem; font-size: .8rem; color: #8A8A8A; }
.site-footer .footer-made img { width: 18px; height: 12px; border-radius: 2px; display: block; }

/* ── TELEFONY ── */
@media (max-width: 900px) {
    .site-nav.has-sellers .nav-link-long, .site-nav.has-sellers .nav-cta-long { display: none; }
    .site-nav.has-sellers .nav-link-short, .site-nav.has-sellers .nav-cta-short { display: inline; }
}
@media (max-width: 600px) {
    .site-nav { padding: .75rem 1rem; }
    .nav-cta-long, .nav-link-long { display: none; }
    .nav-cta-short, .nav-link-short { display: inline; }
    .nav-right { gap: .9rem; }
    /* Flaga bez kodu i strzałki, przycisk bez ikony, mniejsze logo - pasek w jednej linii */
    .lang-code, .lang-caret { display: none; }
    .lang-menu summary { padding: .4rem .3rem; }
    .nav-logo { flex-shrink: 0; }
    .nav-logo img { height: 22px; }
    .nav-cta svg { display: none; }
    .nav-cta { padding: .5rem .8rem; }
    /* "Funkcje" to tylko przewinięcie strony głównej - przy linku dla sprzedających chowane */
    .site-nav.has-sellers .nav-features { display: none; }
    /* Strona dla sklepów - na telefonie tylko w stopce (pasek w jednej linii) */
    .nav-partners { display: none; }
}
@media (max-width: 380px) {
    .nav-logo img { height: 20px; }
    .nav-right { gap: .65rem; }
    .nav-link { display: none; }
    .nav-cta { padding: .5rem .75rem; font-size: .82rem; gap: .35rem; }
    .nav-cta svg { width: 12px; height: 12px; }
}
