/* Modul srodkowy SG: Filtry + Karta kolorow (sg_filtry_karta.php)
   Palety: zloty #b49157 / czarny #181818, spojne z reszta szablonu.
   Wszystkie kolory przez zmienne, aby theme dało się podmienic w jednym miejscu. */
.sgfk{--sg-zloto:#b49157;--sg-czarny:#181818;--sg-tekst:#3a342a;--sg-mut:#8a7d63;--sg-tlo:#fff;--sg-obw:#e3dccb;--sg-radius:8px;color:var(--sg-tekst);font-size:15px;line-height:1.5;margin:0 0 28px}
.sgfk *, .sgfk *::before, .sgfk *::after{box-sizing:border-box}

/* --- FILTRY --- */
.sg-filtry{background:var(--sg-tlo);border:1px solid var(--sg-obw);border-radius:var(--sg-radius);padding:18px}
.sg-filtry--box{margin:0}
.sg-filtr{border:0;border-top:1px solid var(--sg-obw);margin:0;padding:14px 0 4px}
.sg-filtr:first-of-type{border-top:0;padding-top:0}
.sg-filtr legend{padding:0 8px 0 0;font-weight:700;color:var(--sg-czarny)}
.sg-opcja{display:flex;align-items:center;gap:8px;padding:4px 0;cursor:pointer}
.sg-opcja input{flex:0 0 auto;width:16px;height:16px;accent-color:var(--sg-zloto)}
.sg-filtr select{width:100%;max-width:320px;padding:8px 10px;border:1px solid var(--sg-obw);border-radius:6px;background:#fff;font:inherit;color:inherit}
.sg-filtr input[type=number]{width:130px;padding:8px 10px;border:1px solid var(--sg-obw);border-radius:6px;font:inherit}
.sg-filtry-akcje{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.sg-btn{display:inline-block;padding:10px 18px;border:1px solid var(--sg-zloto);border-radius:6px;background:var(--sg-zloto);color:#fff;font:inherit;font-weight:600;cursor:pointer;text-decoration:none}
.sg-btn:hover{background:#a3824a;border-color:#a3824a}
.sg-btn--clear{background:transparent;color:var(--sg-zloto)}
.sg-btn--clear:hover{background:var(--sg-zloto);color:#fff}

/* --- KARTA KOLOROW --- */
/* zwijana sekcja palety (przycisk + tresc) */
.sg-paleta-toggle{display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border:1px solid var(--sg-obw);border-radius:var(--sg-radius);background:var(--sg-tlo);font:inherit;font-weight:600;color:var(--sg-czarny);cursor:pointer;text-align:left}
.sg-paleta-toggle:hover{border-color:var(--sg-zloto);color:var(--sg-zloto)}
.sg-paleta-toggle-arrow{transition:transform .15s ease}
.sg-paleta-toggle[aria-expanded=false] .sg-paleta-toggle-arrow{transform:rotate(-90deg)}
.sg-paleta-body{margin-top:10px;max-height:60vh;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--sg-zloto) var(--sg-obw)}
.sg-paleta-body[hidden]{display:none}
.sg-karta{background:var(--sg-tlo);border:1px solid var(--sg-obw);border-radius:var(--sg-radius);padding:18px}
.sg-karta[hidden]{display:none}
/* naglowek karty dokowanej pod zdjeciem produktu */
.sg-podkarta-top{margin-bottom:10px}
/* wariant podkarty (dokowanej pod zdjeciem): bez ramki, sam przycisk rozwijania */
.sg-karta--podkarta{background:transparent;border:0;padding:0}
.sg-paleta-toggle-txt{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sg-podglad{display:flex;gap:16px;align-items:flex-start}
/* Staly rozmiar podgladu + zarezerwowane wysokosci tekstow: zmiana numeru/nazwy
   przy najechaniu nie moze ruszyc ukladem karty (klatka „skakała” przy kazdym
   najechaniu na inny odcien). */
.sg-podglad-img{width:132px;height:132px;min-width:132px;flex:0 0 132px;object-fit:cover;border:1px solid var(--sg-obw);border-radius:var(--sg-radius);background:#fff;transition:border-color .2s ease,box-shadow .2s ease}
.sg-podglad-img.is-pending{opacity:.55}
.sg-podkarta-meta{display:flex;flex-direction:column;gap:4px;min-width:0;min-height:96px;justify-content:flex-start}
.sg-karta-tytul{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--sg-mut);min-height:1.2em}
/* Numer odcienu: osobna linia z zarezerwowana wysokoscia — podswietlenie
   wybranego numeru nie moze przesuwac pozostalych wierszy podgladu. */
.sg-kod{display:inline-block;align-self:flex-start;min-height:1.2em;padding:0 0 0;margin:0;font-weight:700;color:var(--sg-czarny);font-size:18px;letter-spacing:.02em;border-radius:999px;transition:background-color .2s ease,color .2s ease,box-shadow .2s ease}
.sg-kod.is-active{background:var(--sg-zloto);color:#fff;padding:2px 10px;box-shadow:0 2px 8px rgba(180,145,87,.35)}
.sg-nazwa{min-height:1.35em;line-height:1.35}
.sg-nazwa-it{color:var(--sg-mut);font-style:italic;min-height:1.35em;line-height:1.35}
.sg-wybrany{font-size:14px;color:var(--sg-mut)}
.sg-fotostrip{display:flex;gap:6px;overflow-x:auto;margin:14px 0;padding-bottom:4px}
.sg-foto{flex:0 0 auto;width:44px;height:44px;padding:0;border:1px solid var(--sg-obw);border-radius:6px;background:#fff;cursor:pointer;overflow:hidden;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}
.sg-foto img{width:100%;height:100%;object-fit:cover;display:block}
.sg-foto:hover{border-color:var(--sg-zloto)}
.sg-foto--active{border-color:var(--sg-zloto);box-shadow:0 0 0 2px var(--sg-zloto) inset;transform:translateY(-2px)}
.sg-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}
.sg-tab{padding:6px 12px;border:1px solid var(--sg-obw);border-radius:999px;background:#fff;font:inherit;cursor:pointer;color:inherit}
.sg-tab--active{background:var(--sg-czarny);border-color:var(--sg-czarny);color:var(--sg-zloto)}
.sg-szukaj{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:10px 0 14px}
.sg-szukaj input{flex:1 1 200px;min-width:0;padding:8px 10px;border:1px solid var(--sg-obw);border-radius:6px;font:inherit}
.sg-szukaj-status{color:var(--sg-mut);font-size:13px}
/* siatka pelna szerokosci (gdy nie ma paska zdjec) */
.sg-siatka--full{grid-template-columns:repeat(auto-fill,minmax(104px,1fr))}
.sg-siatka{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px}
/* Ramka i numer: animowane przez box-shadow, wiec grubość obwodki sie nie zmienia
   i karta nie przesuwa sie przy zaznaczeniu. */
.sg-swatch{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 6px;border:1px solid var(--sg-obw);border-radius:var(--sg-radius);background:#fff;font:inherit;cursor:pointer;color:inherit;overflow:hidden;transition:border-color .22s ease,box-shadow .22s ease,background-color .22s ease,transform .22s ease}
.sg-swatch:hover{border-color:var(--sg-zloto);transform:translateY(-2px)}
.sg-swatch--active{border-color:var(--sg-zloto);box-shadow:0 0 0 2px var(--sg-zloto) inset;background:#fffdf7;transform:translateY(0)}
.sg-swatch:focus-visible{outline:3px solid var(--sg-zloto);outline-offset:2px}
.sg-swatch img{width:52px;height:52px;object-fit:cover;border-radius:4px;background:#fff}
/* Wybrany numer odcienu — podswietlony w kruszku kafelka. */
.sg-swatch-kod{font-weight:700;font-size:13px;color:var(--sg-czarny);border-radius:999px;padding:1px 8px;min-height:1.6em;line-height:1.6;transition:background-color .22s ease,color .22s ease}
.sg-swatch--active .sg-swatch-kod{background:var(--sg-zloto);color:#fff}
.sg-swatch-nazwa{font-size:11px;color:var(--sg-mut);text-align:center;line-height:1.3;word-break:break-word}
.sg-hint{font-size:13px;color:var(--sg-mut);margin:12px 0 0}
/* Cena wybranego odcienia — paleta nie dodaje do koszyka, zakup jest w formularzu
   produktu. Wysokosc zarezerwowana, wiec zmiana ceny nie skacze ukladem. */
.sg-karta-cena{display:flex;align-items:center;min-height:34px;margin-top:12px;padding-top:12px;border-top:1px solid var(--sg-obw)}
.sg-cena{display:inline-block;min-height:1.3em;line-height:1.3;font-weight:700;font-size:17px;color:var(--sg-czarny);transition:opacity .18s ease}

/* --- tekst tylko dla czytnikow ekranu --- */
.sg-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}

@media (max-width:600px){
  .sg-podglad{flex-direction:column}
  .sg-podglad-img{width:100%;height:auto;min-width:0;flex:0 0 auto;aspect-ratio:1/1}
  .sg-siatka{grid-template-columns:repeat(auto-fill,minmax(78px,1fr))}
}
/* --- BEZPIECZNY SCROLL PALETY --- */
.sg-paleta-body::-webkit-scrollbar,.sg-siatka::-webkit-scrollbar,.sg-fotostrip::-webkit-scrollbar{width:8px;height:7px}
.sg-paleta-body::-webkit-scrollbar-thumb,.sg-siatka::-webkit-scrollbar-thumb,.sg-fotostrip::-webkit-scrollbar-thumb{background:var(--sg-zloto);border-radius:999px}
.sg-siatka{max-height:min(420px,48vh);overflow-y:auto;overflow-x:hidden;padding-right:6px;scrollbar-width:thin;scrollbar-color:var(--sg-zloto) transparent;overscroll-behavior:contain}
.sg-siatka--full{max-height:min(460px,50vh)}
.sg-fotostrip{scrollbar-width:thin;scrollbar-color:var(--sg-zloto) transparent;overscroll-behavior-x:contain}
.sg-tabs{max-height:84px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--sg-zloto) transparent}
@media (max-width:600px){.sg-paleta-body{max-height:72vh}.sg-siatka,.sg-siatka--full{max-height:44vh}}
@media (prefers-reduced-motion:reduce){.sgfk *{transition:none!important;animation:none!important}}
/* Ilość osobno dla każdego odcienia, w siatce i podglądzie. */
.sg-stan{display:block;font-size:13px;font-weight:600;margin-top:6px}
.sg-swatch-stan{font-size:11px;color:var(--sg-mut);text-align:center;line-height:1.3}
