*{box-sizing:border-box;margin:0;padding:0}
body{background:#FAFAF8;color:#111;font-family:'Inter','DM Sans',system-ui,sans-serif;min-height:100vh;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}
input,button,select{font-family:inherit}
button{transition:filter .15s,transform .12s,background .2s,border-color .2s,color .2s,box-shadow .2s;cursor:pointer;touch-action:manipulation}
button:not(:disabled):active{transform:scale(0.97)}
button:disabled{cursor:default}
input{transition:border-color .2s,box-shadow .2s}
input:focus,select:focus,textarea:focus{border-color:#111!important;box-shadow:0 0 0 3px rgba(0,0,0,0.07);outline:none}
input[type=search]{-webkit-appearance:none;appearance:none}
input[type=search]::-webkit-search-cancel-button{display:none}
input[type=range]{accent-color:#111;cursor:pointer;width:100%}
input[type=color]{border:1px solid #E4E4E0;background:none;width:100%;height:34px;border-radius:8px;cursor:pointer;padding:2px}
select{-webkit-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,#777 50%),linear-gradient(135deg,#777 50%,transparent 50%);background-position:calc(100% - 14px) 52%,calc(100% - 9px) 52%;background-size:5px 5px;background-repeat:no-repeat;padding-right:24px!important;cursor:pointer}

/* Kafelki: bez content-visibility — Safari na iPhonie zostawiało zdjęcia w takich
   kafelkach szare mimo pobrania ich z serwera (20.10.2026). Siatka i tak renderuje
   tylko porcję kafelków, więc oszczędność z content-visibility była niewielka. */
.pcard{transition:border-color .18s,box-shadow .18s}
@media (hover:hover){
  button:not(:disabled):hover{filter:brightness(0.96)}
  .pcard:hover{border-color:#111!important;box-shadow:0 10px 26px rgba(0,0,0,0.10)}
}

/* suwak ceny z dwoma uchwytami: dwa input[range] na jednym torze,
   klikalne są tylko uchwyty */
.dwa-suwaki input[type=range]{position:absolute;left:0;top:0;width:100%;height:28px;margin:0;background:transparent;pointer-events:none;-webkit-appearance:none;appearance:none}
.dwa-suwaki input[type=range]::-webkit-slider-runnable-track{background:transparent;height:28px}
.dwa-suwaki input[type=range]::-moz-range-track{background:transparent}
.dwa-suwaki input[type=range]::-webkit-slider-thumb{pointer-events:auto;-webkit-appearance:none;width:24px;height:24px;margin-top:2px;border-radius:50%;background:#111;border:3px solid #FFF;box-shadow:0 1px 5px rgba(0,0,0,.35);cursor:grab}
.dwa-suwaki input[type=range]::-moz-range-thumb{pointer-events:auto;width:18px;height:18px;border-radius:50%;background:#111;border:3px solid #FFF;box-shadow:0 1px 5px rgba(0,0,0,.35);cursor:grab}

.arkusz{animation:wjazd .22s ease-out both}
.fadeup{animation:fadeup .25s ease both}
::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-thumb{background:rgba(0,0,0,0.18);border-radius:5px}::-webkit-scrollbar-track{background:transparent}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes fadeup{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes wjazd{from{transform:translateY(40px);opacity:.4}to{transform:none;opacity:1}}
@media (prefers-reduced-motion:reduce){.arkusz,.fadeup{animation:none}}
.bez-paska{scrollbar-width:none}.bez-paska::-webkit-scrollbar{display:none}
