/* JOANNA — nadpisania korygujące (v3) */

/* Treść zawsze widoczna, gdy brak JS */
html:not(.jp-js) [data-reveal]{opacity:1 !important;transform:none !important}

/* Galeria: pewny, uniformny grid zamiast kruchego multicol */
.jp-gal{columns:auto !important;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.jp-gal a{aspect-ratio:4/3;margin:0 !important;break-inside:auto;background:#dcd2c0}
/* Zdjecia sa juz zlozone na cieplym tle w kadrze 4:3 — 'contain' gwarantuje,
   ze produkt NIGDY nie jest przyciety (desktop i mobile); tlo kafelka = ton wzorca */
.jp-gal img{width:100%;height:100%;object-fit:contain}
@media (max-width:1024px){.jp-gal{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.jp-gal{grid-template-columns:1fr}}

/* Galeria: ukryte kafelki (przed „Załaduj więcej") */
.jp-gal a.is-hidden{display:none !important}
.jp-gal__more{display:flex;justify-content:center;margin-top:2.4rem}
.jp-gal__count{display:block;text-align:center;margin-top:1rem;color:var(--muted-l);font-size:.85rem;letter-spacing:.04em}

/* Nawigacja — większy margines górny nazwy firmy i menu (desktop + mobile).
   Stan spoczynkowy (u góry strony); po przewinieciu nav pozostaje kompaktowy. */
.jp-nav{padding-top:2.8rem;padding-bottom:1.5rem}
@media (max-width:760px){.jp-nav{padding-top:2.3rem;padding-bottom:1.3rem}}

/* Przełącznik języka PL/EN w nawigacji */
.jp-lang{display:inline-flex;align-items:center;justify-content:center;gap:.5em;min-width:2.4em;height:2.4em;padding:0 .8em;border:1px solid var(--line-d);border-radius:100px;color:var(--paper);font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;transition:.4s var(--ease)}
.jp-lang:hover{border-color:var(--brass);color:var(--brass-lite)}
.jp-nav.scrolled .jp-lang{color:var(--paper)}

/* Flaga przy przełączniku języka (inline SVG — pewne renderowanie na każdej platformie) */
.jp-flag{height:.82em;width:auto;flex:0 0 auto;border-radius:2px;box-shadow:0 0 0 1px rgba(255,255,255,.22);display:block}
.jp-mob__lang{display:inline-flex;align-items:center;gap:.55em}
.jp-mob__lang .jp-flag{height:.9em}

/* Menu mobilne — przycisk zamknięcia */
.jp-mob__close{position:absolute;top:1.5rem;right:1.35rem;width:48px;height:48px;display:grid;place-items:center;background:none;border:1px solid var(--line-d);border-radius:50%;color:var(--paper);font-size:2rem;line-height:1;cursor:pointer;z-index:90;transition:.35s var(--ease)}
.jp-mob__close:hover{border-color:var(--brass);color:var(--brass-lite);transform:rotate(90deg)}

/* Reveal całych sekcji podczas przewijania (v2.3) — sekcja wjeżdża jako spójny blok */
.jp-reveal-sec{opacity:0;transform:translateY(34px);transition:opacity .9s var(--ease),transform .9s var(--ease);will-change:opacity,transform}
.jp-reveal-sec.jp-shown{opacity:1;transform:none;will-change:auto}
@media (prefers-reduced-motion:reduce){.jp-reveal-sec{opacity:1 !important;transform:none !important;transition:none !important}}

/* ===== LOGO graficzne (v3.2) — podmiana tekstowego wordmarku na logo klienta =====
   Wariant „light" (kremowy napis + mosiężna skrzynka na przezroczystym tle),
   dopasowany do ciemnego, kinowego tła nagłówka i stopki.
   Nagłówek: logo powiększone i wyraziste; subtelny cień poprawia czytelność
   na jasnych fragmentach zdjęcia w tle. */
.jp-brand .jp-logo{height:70px;width:auto;display:block;transition:height .5s var(--ease);
  filter:drop-shadow(0 2px 12px rgba(10,7,5,.55))}
.jp-nav.scrolled .jp-brand .jp-logo{height:54px}
@media (max-width:1024px){.jp-brand .jp-logo{height:62px}}
@media (max-width:760px){.jp-brand .jp-logo{height:50px}.jp-nav.scrolled .jp-brand .jp-logo{height:46px}}
@media (max-width:400px){.jp-brand .jp-logo{height:42px}}

.jp-foot__brand .jp-foot__logo{height:64px;width:auto;max-width:100%;display:block;margin-bottom:.2rem}
@media (max-width:520px){.jp-foot__brand .jp-foot__logo{height:54px}}