/* Elementy interaktywne WordPressa (makieta pokazywała stany statycznie). */
.pomin { position: absolute; left: -9999px; top: 0; z-index: 100; background: var(--bialy); padding: 12px 16px; }
.pomin:focus { left: 16px; }
.naglowek .mega { top: 100%; }
.naglowek .mega[hidden], .szukaj-panel[hidden], .zaslona[hidden], .menu-mobilne[hidden] { display: none !important; }
.zaslona { position: fixed; top: 0; z-index: 5; }
.szukaj-panel { position: absolute; left: 0; right: 0; top: 100%; z-index: 20; background: var(--bialy); border-top: 1px solid var(--linia); padding: 24px 0; box-shadow: 0 24px 48px rgba(43,43,42,.18); }
.szukaj-panel .pole-szukaj { max-width: 720px; }
.menu-mobilne { position: fixed; inset: 0; z-index: 50; background: var(--bialy); overflow-y: auto; }
.menu-m > button.rozw { display: flex; justify-content: space-between; align-items: center; width: 100%; height: 56px; border: 0; background: none; padding: 0; font-family: var(--naglowek); font-size: 18px; font-weight: 600; color: inherit; cursor: pointer; }
.menu-m > button.rozw svg { width: 16px; height: 16px; color: var(--tekst-2); transition: transform .2s; }
.menu-m > button.rozw[aria-expanded="false"] svg { transform: rotate(-90deg); }
.menu-m > button.rozw[aria-expanded="false"] + .podmenu { display: none; }
body.blokada { overflow: hidden; }
button.szukaj-btn, button.ikbtn, button.burger { cursor: pointer; font: inherit; }
button.szukaj-btn { background: var(--bialy); font-family: var(--naglowek); font-size: 16px; font-weight: 600; color: var(--tekst); }
button.ikbtn { background: none; border: 1px solid var(--linia); color: inherit; }
button.burger { border: 0; }
.rozwin-mega svg { transition: transform .2s; }
.rozwin-mega[aria-expanded="true"] svg { transform: rotate(180deg); }
/* Formularz: natywne pola zamiast atrap z makiety */
.formularz .wybor { position: relative; }
.formularz .wybor select { appearance: none; -webkit-appearance: none; width: 100%; height: 100%; border: 0; background: transparent; font: inherit; color: inherit; padding-right: 32px; cursor: pointer; outline: 0; }
.formularz .wybor svg { position: absolute; right: 16px; top: 50%; transform: translateY(-50%); pointer-events: none; }
.formularz.z-tematami .temat-m { display: none; }
@media (max-width: 1023px) { .formularz.z-tematami .tematy-f { display: none; } .formularz.z-tematami .temat-m { display: flex; } }
.formularz button.filtr { font: inherit; cursor: pointer; }
.formularz .zalacz { cursor: pointer; position: relative; }
.formularz .zalacz input[type=file] { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.formularz .zgoda { position: relative; cursor: pointer; }
.formularz .zgoda input { position: absolute; opacity: 0; width: 22px; height: 22px; margin: 0; }
.formularz .zgoda input:checked + .kw { background: var(--grafit); box-shadow: inset 0 0 0 4px var(--bialy); }
.formularz .zgoda input:focus-visible + .kw { outline: 2px solid var(--czerwien); outline-offset: 2px; }
.formularz button.btn { border: 0; cursor: pointer; font: inherit; }
.formularz .hp { position: absolute; left: -9999px; }
.blad-f { color: var(--czerwien-ciemna); font-weight: 600; }
:focus-visible { outline: 2px solid var(--czerwien); outline-offset: 2px; }
/* Treść z edytora (poradniki, opisy) */
.tresc-wp > * + * { margin-top: 16px; }
.tresc-wp h2 { margin-top: 40px; }
.tresc-wp h3 { margin-top: 32px; }
.tresc-wp ul { list-style: disc; padding-left: 24px; }
.tresc-wp ol { list-style: decimal; padding-left: 24px; }
.tresc-wp img { max-width: 100%; height: auto; }
.tresc-wp a { color: var(--czerwien-ciemna); text-decoration: underline; }
.tresc-wp table { width: 100%; border-collapse: collapse; }
.tresc-wp td, .tresc-wp th { border: 1px solid var(--linia); padding: 8px 12px; text-align: left; }
/* Hero strony głównej jako <picture> (jeden pobierany kadr) */
.hero > picture.tlo-p { position: absolute; inset: 0; }
.hero > picture.tlo-p img.tlo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 60%; }
@media (max-width: 1023px) { .hero > picture.tlo-p img.tlo { object-position: 70% 0%; } }
/* Stopka: listy menu z WordPressa */
.stopka .stopka-menu { display: block; margin: 0; padding: 0; list-style: none; }
/* Cele dotyku >= 44 px na telefonie i tablecie */
@media (max-width: 1023px) {
  .stopka li a, .stopka address a, .stopka .dol nav a { display: inline-flex; align-items: center; min-height: 44px; }
  .stopka li { padding: 0; }
  .stopka address .social { gap: 24px; }
  a[href^="mailto:"], a[href^="tel:"] { display: inline-flex; align-items: center; min-height: 44px; }
  .filtry .filtr, .filtr { min-height: 44px; }
}
/* Produkt bez zdjęć: treść na całą szerokość zamiast pustej kolumny galerii */
.p-otwarcie.bez-galerii { grid-template-columns: 1fr !important; }
.p-otwarcie.bez-galerii .galeria { display: none; }
.p-otwarcie.bez-galerii .p-info { max-width: 840px; }
