/* audyt 23.09 P25: szare napisy przyciemnione do kontrastu >= 4,5:1 (#8a8378 -> #6b6357, #a2988a -> #736b5e) */
.ins-kafle{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin:28px 0 0;}
@media(max-width:1024px){.ins-kafle{grid-template-columns:repeat(3,1fr);gap:18px;}}
@media(max-width:680px){.ins-kafle{grid-template-columns:repeat(2,1fr);gap:12px;margin-top:18px;}}
.ins-kafel .ins-card-img{display:block;}
.ins-kafel-kolaz{position:absolute;inset:0;display:grid;gap:2px;background:#ece5da;}
.ins-kafel-kolaz--2{grid-template-columns:1fr 1fr;}
.ins-kafel-kolaz--4{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;}
.ins-kafel-kolaz--0{background:linear-gradient(135deg,#efe9df,#dcd1bf);}
.ins-kafel-kom{display:block;background:#fff;overflow:hidden;min-width:0;min-height:0;}
.ins-kafel-kom img,.ins-kafel-kom picture{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease;}
.ins-kafel:hover .ins-kafel-kom img{transform:scale(1.05);}
.ins-kafel .ins-card-body{gap:4px;padding:16px 18px 18px;}
.ins-kafel-nazwa{font-size:1.12rem;font-weight:700;line-height:1.3;color:#1f1a14;}
.ins-kafel-meta{font-size:.86rem;color:#6b6357;font-variant-numeric:tabular-nums;}
.ins-kafel-cta{margin-top:10px;font-size:.86rem;font-weight:700;color:#c1121f;display:flex;align-items:center;gap:6px;}
.ins-kafel-cta span{transition:transform .2s ease;}
.ins-kafel:hover .ins-kafel-cta span{transform:translateX(4px);}
@media(max-width:680px){.ins-kafel .ins-card-body{padding:11px 12px 13px;}.ins-kafel-nazwa{font-size:.95rem;}.ins-kafel-meta{font-size:.78rem;}.ins-kafel-cta{margin-top:6px;font-size:.8rem;}}
.ins-kafle-all{display:flex;justify-content:center;margin:34px 0 12px;}
.ins-kafle-allbtn{display:inline-flex;align-items:center;gap:10px;padding:13px 26px;border:1.5px solid #1f1a14;border-radius:999px;font-weight:700;font-size:.95rem;color:#1f1a14;text-decoration:none;transition:background .2s,color .2s;}
.ins-kafle-allbtn span{font-size:.8rem;font-weight:700;background:#f1ece3;color:#6b6357;border-radius:999px;padding:2px 9px;transition:background .2s,color .2s;}
.ins-kafle-allbtn:hover{background:#1f1a14;color:#fff;}
.ins-kafle-allbtn:hover span{background:rgba(255,255,255,.16);color:#fff;}
.ins-katalog a:focus:not(:focus-visible),.ins-katalog button:focus:not(:focus-visible),.ins-katalog select:focus:not(:focus-visible),.ins-katalog input:focus:not(:focus-visible){outline:none !important;box-shadow:none !important;}
.ins-katalog a:focus-visible,.ins-katalog button:focus-visible,.ins-katalog select:focus-visible,.ins-katalog input:focus-visible{outline:2px solid #c1121f !important;outline-offset:2px;}
.ins-katalog .ins-side a:focus:active,.ins-katalog .ins-side button:focus:active,.ins-katalog .ins-side a:active,.ins-katalog .ins-side button:active{outline:2px solid #1f1a14 !important;outline-offset:-2px !important;}
.ins-katalog .ins-side a:focus-visible,.ins-katalog .ins-side button:focus-visible,.ins-katalog .ins-side input:focus-visible{outline-offset:-2px !important;}

/* audyt2 U12: wstep pod H1 (zajawka strony) */
.ins-kat-wstep{max-width:65ch;margin:10px 0 0;color:#5d564c;line-height:1.55;}
.ins-kat-wstep[hidden]{display:none;}

/* uklad: panel boczny + wyniki */
.ins-lay{display:grid;grid-template-columns:248px minmax(0,1fr);gap:44px;align-items:start;margin-top:26px;}
.ins-side{position:sticky;top:24px;max-height:calc(100vh - 48px);overflow-y:auto;padding:4px 8px 8px 0;scrollbar-width:thin;}
body.admin-bar .ins-side{top:56px;max-height:calc(100vh - 80px);}
/* 24.09 test wizualny: na niskim ekranie (laptop 1366x768, tablet poziomo) panel byl wyzszy niz okno i urywal sie nad stopka (bez sekcji Cena) - tam przewija sie razem ze strona */
@media(min-width:901px) and (max-height:1000px){.ins-side,body.admin-bar .ins-side{position:static;max-height:none;overflow:visible;}}
/* 24.09 test wizualny: ostatni rzad kart nie styka sie z linia stopki (to samo w snippecie 17 dla stron sklepu) */
.ins-catpage{padding-bottom:48px;}@media(max-width:680px){.ins-catpage{padding-bottom:32px;}}
.ins-side-head,.ins-side-tlo,.ins-filtry-btn,.ins-side-pokaz{display:none;}
.ins-side-blok{padding:0 0 20px;margin:0 0 20px;border-bottom:1px solid #ebe4d8;}
.ins-side-blok[hidden]{display:none;}
.ins-side-tytul{font-size:.74rem !important;letter-spacing:.09em;text-transform:uppercase;color:#6b6357;margin:0 0 10px !important;font-weight:700;}
.ins-side-kat,.ins-side-sub,.ins-side-sub2{list-style:none;margin:0;padding:0;}
.ins-side-kat a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 10px;border-radius:8px;color:#3d372f;text-decoration:none;font-size:.93rem;line-height:1.3;transition:background .15s,color .15s;}
.ins-side-kat a:hover{background:#f1ece3;color:#1f1a14;}
.ins-side-kat em{font-style:normal;font-size:.78rem;color:#736b5e;font-variant-numeric:tabular-nums;flex:none;width:2ch;text-align:center;} /* kolumna na 2 cyfry, liczby wysrodkowane jedna pod druga */
.ins-side-kat > li.is-current > a{font-weight:700;color:#1f1a14;}
.ins-side-kat > li > a.is-active{font-weight:700;color:#c1121f;background:#fbf1f0;}
.ins-side-kat > li > a.is-active em{color:#c1121f;}
.ins-side-wszystko{margin-bottom:4px;padding-bottom:4px;border-bottom:1px dashed #e4dccd;}
.ins-side-toggle{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;gap:10px;width:100%;padding:7px 10px;border-radius:8px;color:#3d372f;font-size:.93rem;line-height:1.3;transition:background .15s,color .15s;}
.ins-side-toggle:hover{background:#f1ece3;color:#1f1a14;}
.ins-side-toggle span{flex:1;}
.ins-side-chev{flex:none;align-self:center;width:6px;height:6px;border-right:1.6px solid #8a8378;border-bottom:1.6px solid #8a8378;transform:translateY(-2px) rotate(45deg);transition:transform .2s;}
.ins-side-top.is-open > .ins-side-toggle .ins-side-chev{transform:translateY(1px) rotate(-135deg);}
.ins-side-top.is-current > .ins-side-toggle{font-weight:700;color:#1f1a14;}
.ins-side-top:not(.is-open) > .ins-side-sub{display:none;}
.ins-side-sub{margin:2px 0 6px 10px;padding-left:8px;border-left:2px solid #ebe4d8;}
.ins-side-sub a{font-size:.88rem;padding:6px 10px;color:#5a5348;}
.ins-side-sub a.is-active{color:#c1121f;font-weight:700;background:#fbf1f0;}
.ins-side-sub a.is-active em{color:#c1121f;}
.ins-side-sub2{margin:0 0 4px 12px;padding:0 0 0 8px;border-left:1px dashed #e4dccd;}
.ins-side-sub2 a{font-size:.84rem;padding:5px 10px;color:#6b6357;}
/* kazda pozycja listy kategorii ma wysokosc 2 wierszy tekstu (line-height 1.3) - jednowierszowe i dwuwierszowe nazwy rowno */
/* audyt 23.09 P57: tylko na telefonie/tablecie (panel wysuwany); na komputerze wiersz ma jedna linie, zeby filtry byly wyzej */
.ins-side-kat a,.ins-side-toggle{box-sizing:border-box;}
@media(max-width:900px){
.ins-side-kat a,.ins-side-toggle{min-height:calc(2.6em + 14px);}
.ins-side-kat .ins-side-sub a{min-height:calc(2.6em + 12px);}
.ins-side-kat .ins-side-sub2 a{min-height:calc(2.6em + 10px);}
}
/* audyt 23.09 P57: kategoria bez produktow pasujacych do wybranych filtrow - wyszarzona (liczba 0) */
.ins-side-kat a.ins-zero{opacity:.5;}
/* liczniki w jednej kolumnie: kazdy wiersz konczy sie 26 px od prawej (tyle zajmuje strzalka rozwijania), strzalki w osobnej kolumnie */
.ins-side-kat li > a,.ins-side-kat .ins-side-sub a,.ins-side-kat .ins-side-sub2 a{padding-right:26px;}
.ins-side-l2row{display:flex;align-items:center;border-radius:8px;transition:background .15s;}
.ins-side-l2row:hover{background:#f1ece3;}
.ins-side-kat .ins-side-l2row > a{flex:1;min-width:0;padding-right:0;}
.ins-side-kat .ins-side-l2row > a:hover{background:none;}
.ins-side-l2btn{all:unset;box-sizing:border-box;flex:none;cursor:pointer;display:flex;align-items:center;justify-content:flex-end;width:26px;padding-right:5.2px;align-self:stretch;border-radius:8px;}
/* strzalka (7,6 px, obrocona ~10 px) ze srodkiem 9 px od prawej krawedzi wiersza: licznik-strzalka = strzalka-pasek przewijania (~12 px) */
.ins-side-toggle{padding-right:5.2px;}
.ins-side-toggle .ins-side-chev{margin-left:3.2px;}
.ins-side-l2btn:hover .ins-side-chev{border-color:#1f1a14;}
.ins-side-l2.is-open .ins-side-l2btn .ins-side-chev{transform:translateY(1px) rotate(-135deg);}
.ins-side-l2:not(.is-open) > .ins-side-sub2{display:none;}
/* kategoria glowna z dzialami: wiersz link + strzalka (bez pozycji "Wszystkie produkty") */
.ins-side-top.is-open > .ins-side-toprow .ins-side-chev{transform:translateY(1px) rotate(-135deg);}
.ins-side-kat > li.is-current > .ins-side-toprow > a{font-weight:700;color:#1f1a14;}
.ins-side-kat > li > .ins-side-toprow > a.is-active{font-weight:700;color:#c1121f;}
.ins-side-kat > li > .ins-side-toprow > a.is-active em{color:#c1121f;}
.ins-side-toprow:has(> a.is-active),.ins-side-toprow:has(> a.is-active):hover{background:#fbf1f0;}
.ins-side-all{margin-top:3px;padding-top:3px;border-top:1px dashed #e4dccd;}
.ins-side-all a{font-weight:600;}
.ins-side-wyprz{margin-top:6px;padding-top:6px;border-top:1px dashed #e4dccd;}
.ins-side-wyprz a{color:#c1121f;font-weight:600;}
.ins-side-opcje{display:flex;flex-direction:column;gap:2px;}
.ins-opt{display:flex;align-items:center;gap:10px;padding:6px 4px;font-size:.92rem;color:#3d372f;cursor:pointer;border-radius:6px;}
.ins-opt:hover{color:#1f1a14;}
.ins-opt input{width:17px;height:17px;margin:0;accent-color:#c1121f;flex:none;cursor:pointer;}
.ins-opt span{flex:1;}
.ins-opt em{font-style:normal;font-size:.78rem;color:#736b5e;font-variant-numeric:tabular-nums;}
.ins-opt[hidden]{display:none;}
.ins-cena{display:flex;align-items:center;gap:8px;}
.ins-cena label{flex:1;min-width:0;}
.ins-cena input{width:100%;box-sizing:border-box;padding:8px 10px;border:1px solid #e0d8ca;border-radius:8px;background:#fff;font:inherit;font-size:.9rem;font-variant-numeric:tabular-nums;-moz-appearance:textfield;}
.ins-cena input::-webkit-outer-spin-button,.ins-cena input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
.ins-cena-mysl,.ins-cena-zl{color:#6b6357;font-size:.88rem;}
.ins-side-foot{display:flex;flex-direction:column;gap:8px;}
.ins-side-wyczysc{all:unset;cursor:pointer;font-size:.86rem;font-weight:600;color:#6b6357;text-decoration:underline;text-underline-offset:3px;padding:4px 2px;}
.ins-side-wyczysc:hover{color:#c1121f;}
.ins-side-wyczysc[disabled]{opacity:.4;cursor:default;text-decoration:none;}

.ins-wyniki-bar{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:0 0 14px;margin:0 0 16px;border-bottom:1px solid #ebe4d8;}
.ins-wyniki-tyt{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;}
.ins-wyniki-tytul{font-size:1.4rem !important;margin:0 !important;letter-spacing:.01em;}
.ins-wyniki-licz{color:#736b5e;font-size:.86rem;font-variant-numeric:tabular-nums;}
.ins-wyniki-akcje{display:flex;align-items:center;gap:10px;}
.ins-sort{display:flex;align-items:center;gap:8px;font-size:.86rem;color:#6b6357;}
.ins-sort select{appearance:none;-webkit-appearance:none;font:inherit;font-size:.9rem;color:#1f1a14;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%236b6357' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 12px center;border:1px solid #e0d8ca;border-radius:8px;padding:8px 34px 8px 12px;cursor:pointer;}
.ins-aktywne{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px;}
.ins-aktywne[hidden]{display:none;}
.ins-chip{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:8px;font-size:.84rem;font-weight:600;color:#1f1a14;background:#f1ece3;border-radius:999px;padding:6px 12px;}
.ins-chip:hover{background:#e7dfd1;}
.ins-chip b{font-weight:400;font-size:1rem;line-height:1;color:#6b6357;}
/* audyt2 23.09 N3: "Wyczysc filtry" w pasku aktywnych filtrow */
.ins-aktywne-wyczysc{all:unset;cursor:pointer;display:inline-flex;align-items:center;font-size:.84rem;font-weight:600;color:#6b6357;text-decoration:underline;text-underline-offset:3px;padding:6px 4px;}
.ins-aktywne-wyczysc:hover{color:#c1121f;}
.ins-chip:focus-visible,.ins-aktywne-wyczysc:focus-visible{outline:2px solid #1f1a14;outline-offset:2px;}
.ins-kgrid{grid-template-columns:repeat(3,1fr) !important;}
@media(min-width:1180px){.ins-kgrid{grid-template-columns:repeat(4,1fr) !important;gap:20px !important;}}
.ins-kcard[hidden]{display:none !important;}
.ins-brak{padding:48px 0;text-align:center;color:#6b6357;}
.ins-brak[hidden]{display:none;}
.ins-brak button{all:unset;cursor:pointer;margin-top:8px;font-weight:700;color:#c1121f;text-decoration:underline;text-underline-offset:3px;}

/* kafle dzialow w miejscu listy produktow (wyglad jak kafle kategorii na /oferta/) */
.ins-dzialy-blok[hidden]{display:none;}
/* formatowanie 1:1 jak kafle kategorii na /oferta/ (.ins-hub-card ze snippetu 17): proporcje 3/4, ten sam cien, gradient i naglowek */
.ins-dzialy{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
@media(max-width:1024px){.ins-dzialy{grid-template-columns:repeat(2,1fr);}}
@media(max-width:680px){.ins-dzialy{gap:12px;}}
.ins-dzial{position:relative;display:block;aspect-ratio:3/4;border-radius:18px;overflow:hidden;text-decoration:none;background:#ece5da;box-shadow:0 4px 14px rgba(31,26,20,.07);transition:transform .25s ease,box-shadow .25s ease;}
@media(max-width:680px){.ins-dzial{aspect-ratio:1/1;border-radius:14px;}}
.ins-dzial:hover{transform:translateY(-5px);box-shadow:0 18px 40px rgba(31,26,20,.17);}
.ins-dzial-bg{position:absolute;inset:0;}
.ins-dzial-bg img,.ins-dzial-bg picture{width:100%;height:100%;object-fit:cover;display:block;}
.ins-dzial-bg,.ins-dzial .ins-kafel-kolaz{transition:transform .5s ease;}
.ins-dzial:hover .ins-dzial-bg,.ins-dzial:hover .ins-kafel-kolaz{transform:scale(1.06);}
.ins-dzial::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,12,8,0) 42%,rgba(15,12,8,.6) 100%);}
.ins-dzial-txt{position:absolute;left:20px;right:20px;bottom:16px;z-index:2;display:flex;flex-direction:column;gap:2px;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.35);}
.ins-dzial-nazwa{font-size:1.45rem;font-weight:700;line-height:1.2;letter-spacing:.01em;text-wrap:balance;}
.ins-dzial-meta{font-size:.84rem;opacity:.92;font-variant-numeric:tabular-nums;}
@media(max-width:680px){.ins-dzial-txt{left:14px;right:14px;bottom:10px;}.ins-dzial-nazwa{font-size:1.08rem;}.ins-dzial-meta{font-size:.76rem;}}
.ins-dzialy-all{display:flex;justify-content:center;margin:30px 0 8px;}
/* audyt2 23.09 N3: pasek aktywnych filtrow (.ins-aktywne) widoczny tez w widoku kafli dzialow */
.ins-katalog.ins-js:not([data-view="dzialy"]) .ins-dzialy-wrap,
.ins-katalog.ins-js[data-view="dzialy"] .ins-kgrid,
.ins-katalog.ins-js[data-view="dzialy"] .ins-brak,
.ins-katalog.ins-js[data-view="dzialy"] .ins-sort,
.ins-katalog.ins-js[data-view="dzialy"] .ins-side-blok:not(.ins-side-kat-blok),
.ins-katalog.ins-js[data-view="dzialy"] .ins-side-foot{display:none;}
.ins-katalog.ins-js[data-view="dzialy"] .ins-side-kat-blok{border-bottom:0;}
/* stany widoku (tylko z JS; bez JS wszystko jest widoczne) */
.ins-katalog.ins-js[data-view="kafle"] .ins-lay,
.ins-katalog.ins-js[data-view="kafle"] .ins-tylko-lista,
.ins-katalog.ins-js[data-view="lista"] .ins-kafle,
.ins-katalog.ins-js[data-view="lista"] .ins-kafle-hub,
.ins-katalog.ins-js[data-view="lista"] .ins-kafle-all{display:none;}
/* kafle kategorii ze snippetu 17 wewnatrz katalogu - bez podwojnego przesuniecia szerokosci */
.ins-kafle-hub .ins-hub{width:auto !important;margin-left:0 !important;margin-right:0 !important;}
.ins-katalog.ins-js[data-view="lista"] .ins-lay{animation:insKatIn .28s ease both;}
@keyframes insKatIn{from{opacity:.4;}to{opacity:1;}}

/* telefon / tablet: panel wysuwany */
@media(max-width:900px){
.ins-lay{display:block;margin-top:18px;}
.ins-filtry-btn{display:inline-flex;align-items:center;gap:8px;font:inherit;font-size:.9rem;font-weight:700;color:#1f1a14;background:#fff;border:1px solid #1f1a14;border-radius:999px;padding:8px 16px;cursor:pointer;}
.ins-filtry-ile{background:#c1121f;color:#fff;border-radius:999px;font-size:.72rem;padding:1px 7px;}
.ins-filtry-ile[hidden]{display:none;}
.ins-side{position:fixed;top:0 !important;left:0;bottom:0;width:min(340px,88vw);max-height:none !important;z-index:10001;background:#faf9f7;padding:0 18px 18px;overflow-y:auto;transform:translateX(-102%);box-sizing:border-box;visibility:hidden;}
.ins-katalog.ins-js .ins-side{transition:transform .28s ease,box-shadow .28s ease,visibility 0s linear .28s;}
.ins-side-open .ins-side{transform:none;box-shadow:0 0 40px rgba(0,0,0,.18);visibility:visible;}
.ins-katalog.ins-js.ins-side-open .ins-side{transition:transform .28s ease,box-shadow .28s ease,visibility 0s linear 0s;}
/* audyt 23.09 P15: box-sizing - panel ma 88vw razem z marginesami (wiekszy pas tla do zamkniecia); zamkniety panel visibility:hidden
   (po animacji) - poza kolejnoscia Tab i czytnikiem; pola 16px - Safari na iPhonie nie powieksza strony po dotknieciu */
.ins-cena input,.ins-sort select{font-size:16px;}
/* audyt 23.09 P57: drugi tytul taki sam jak H1 - na telefonie zostaje sam licznik */
.ins-wyniki-tytul.ins-dubel{display:none;}
.ins-side-tlo{display:block;position:fixed;inset:0;z-index:10000;background:rgba(20,16,12,.38);opacity:0;pointer-events:none;transition:opacity .25s;}
.ins-side-open .ins-side-tlo{opacity:1;pointer-events:auto;}
.ins-side-head{display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;background:#faf9f7;padding:16px 0 12px;margin-bottom:8px;border-bottom:1px solid #ebe4d8;z-index:1;}
.ins-side-x{all:unset;cursor:pointer;width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:#f1ece3;font-size:22px;line-height:1;}
.ins-side-foot{position:sticky;bottom:0;background:#faf9f7;padding:12px 0 4px;flex-direction:row;align-items:center;justify-content:space-between;border-top:1px solid #ebe4d8;}
.ins-side-pokaz{display:block;font:inherit;font-weight:700;font-size:.95rem;background:#1f1a14;color:#fff;border:0;border-radius:999px;padding:12px 22px;cursor:pointer;}
.ins-wyniki-bar{align-items:center;}
.ins-wyniki-tytul{font-size:1.2rem !important;}
.ins-sort span{display:none;}
/* audyt2 23.09 N8: stopka panelu - przyciski w jednej linii, bez pasa listy pod stopka (padding-bottom 0), margines na pasek iPhone'a */
.ins-side{padding-bottom:0;}
.ins-side-foot{padding:12px 0 calc(12px + env(safe-area-inset-bottom));flex-wrap:wrap;gap:8px;}
.ins-side-pokaz{white-space:nowrap;padding:12px 16px;margin-left:auto;}
.ins-side-wyczysc{white-space:nowrap;}
}
/* audyt2 23.09 N8: waski telefon - sortowanie w osobnym wierszu na cala szerokosc (bez ucinania "Domyslnie" i cen) */
@media(max-width:420px){.ins-wyniki-akcje{flex-wrap:wrap;}.ins-sort,.ins-sort select{width:100%;}}
@media(max-width:680px){.ins-kgrid{grid-template-columns:repeat(2,1fr) !important;gap:12px !important;}.ins-wyniki-akcje{width:100%;justify-content:space-between;}}
/* audyt 23.09 P57/P15: dluzszy napis "Kategorie i filtry" + lista sortowania 16px - na waskim telefonie lista sortowania sie zweza (przycisk nie lamie sie na 2 linie, bez przewijania w poziomie) */
@media(max-width:680px){.ins-filtry-btn{flex:none;white-space:nowrap;}.ins-sort{min-width:0;}.ins-sort select{min-width:0;max-width:100%;}}
@media(prefers-reduced-motion:reduce){.ins-katalog *{animation:none !important;transition:none !important;}}
body.ins-side-lock{overflow:hidden;}
body.ins-side-lock #wpfront-scroll-top-container{display:none !important;}