/* =========================================================
   Spis produktów — nadbudowa nad style.css (te same tokeny)
   ========================================================= */

body.produkty{
  background:var(--linen);
  color:var(--txt-dark);
}

/* ---------- pasek górny ---------- */
.pbar{
  position:sticky; top:0; z-index:60;
  background:rgba(14,12,8,.94);
  backdrop-filter:blur(14px) saturate(140%);
  border-bottom:1px solid rgba(143,166,189,.22);
}
.pbar__inner{
  max-width:var(--maxw); margin-inline:auto;
  padding:12px var(--pad);
  display:flex; align-items:center; gap:20px;
}
.pbar__logo{ line-height:0; flex:0 0 auto; }
.pbar__logo img{ width:clamp(96px,10vw,124px); }
.pbar__back{
  margin-left:auto;
  font-size:.86rem; color:var(--txt-light); text-decoration:none;
  border-bottom:1px solid rgba(255,204,0,.4);
  transition:color .3s, border-color .3s;
}
.pbar__back:hover{ color:var(--gold); border-color:var(--gold); }

/* ---------- nagłówek ---------- */
.phead{
  background:var(--wood-900); color:var(--txt-light);
  padding:clamp(46px,8vh,86px) 0 clamp(38px,6vh,62px);
  border-bottom:2px solid var(--blue-700);
}
.phead .kicker{ color:var(--txt-light-2); }
.phead .kicker span{ background:var(--blue-500); color:#fff; }
.phead h1{
  font-family:var(--ff-display); font-weight:500;
  font-size:clamp(2.1rem,5vw,3.8rem); line-height:1.05; letter-spacing:-.02em;
  color:var(--linen); margin-bottom:.5em;
}
.phead h1 em{ font-style:italic; color:var(--gold); }
.phead .lede{ color:var(--txt-light-2); max-width:60ch; }
.phead .note{
  color:var(--txt-light-2); border-left-color:var(--blue-400);
  margin-top:1.6em; margin-bottom:0;
}
.phead .note strong{ color:var(--gold); }

/* ---------- filtry ---------- */
.pfilter{
  position:sticky; top:57px; z-index:50;
  background:rgba(246,241,230,.95);
  backdrop-filter:blur(12px);
  border-bottom:1px solid var(--linen-3);
}
.pfilter__inner{
  max-width:var(--maxw); margin-inline:auto;
  padding:14px var(--pad);
  display:flex; flex-wrap:wrap; align-items:center; gap:12px;
}
.pfilter__search{
  flex:1 1 220px; min-width:0;
  display:flex; align-items:center; gap:.6em;
  background:#fff; border:1px solid var(--linen-3); border-radius:999px;
  padding:.55em 1em;
}
.pfilter__search input{
  flex:1; min-width:0; border:0; outline:0; background:transparent;
  font-family:var(--ff-body); font-size:.95rem; color:var(--txt-dark);
}
.pfilter__search svg{ flex:0 0 auto; color:var(--blue-500); }
.pchips{ display:flex; flex-wrap:wrap; gap:8px; }
.pchip{
  border:1px solid var(--linen-3); background:#fff;
  border-radius:999px; padding:.5em 1.05em; cursor:pointer;
  font-family:var(--ff-body); font-size:.82rem; letter-spacing:.02em;
  color:var(--txt-mute);
  transition:background-color .25s, color .25s, border-color .25s;
}
.pchip:hover{ border-color:var(--blue-500); color:var(--blue-700); }
.pchip[aria-pressed="true"]{
  background:var(--blue-500); border-color:var(--blue-500); color:#fff;
}
.pcount{
  font-size:.8rem; letter-spacing:.1em; text-transform:uppercase;
  color:var(--txt-mute); margin-left:auto;
}

/* ---------- lista ---------- */
.pcat{ padding:clamp(40px,6vh,70px) 0 0; }
.pcat__head{
  display:flex; align-items:baseline; gap:.7em;
  margin-bottom:clamp(20px,3vw,32px);
}
.pcat__head h2{
  font-family:var(--ff-display); font-weight:500;
  font-size:clamp(1.6rem,3.4vw,2.5rem); letter-spacing:-.015em;
}
.pcat__head span{
  font-size:.68rem; letter-spacing:.14em; text-transform:uppercase;
  color:#fff; background:var(--blue-500);
  border-radius:999px; padding:.3em .75em;
}

.pgrid{
  display:grid; grid-template-columns:repeat(auto-fill,minmax(320px,1fr));
  gap:clamp(14px,1.8vw,22px);
}
.pitem{
  background:#fff; border:1px solid var(--linen-3); border-radius:8px;
  overflow:hidden; display:flex; flex-direction:column;
  transition:border-color .3s, box-shadow .3s, transform .3s;
}
.pitem:hover{
  border-color:var(--blue-500);
  box-shadow:0 22px 50px -32px rgba(30,24,12,.42);
  transform:translateY(-3px);
}
.pitem__alias{
  margin:-.2em 0 .5em;
  font-size:.7rem; letter-spacing:.12em; text-transform:uppercase;
  color:var(--blue-500);
}

.pnutri{
  width:100%; border-collapse:collapse; margin-top:1.1em;
  font-size:.82rem;
}
.pnutri caption{
  text-align:left; margin-bottom:.5em;
  font-size:.7rem; letter-spacing:.14em; text-transform:uppercase;
  color:var(--blue-700); font-weight:500;
}
.pnutri th{
  text-align:left; font-weight:400; color:var(--txt-mute);
  padding:.32em 0; border-bottom:1px solid var(--linen-2);
}
.pnutri td{
  text-align:right; color:var(--txt-dark); font-variant-numeric:tabular-nums;
  padding:.32em 0; border-bottom:1px solid var(--linen-2);
}
.pnutri tr:last-child th, .pnutri tr:last-child td{ border-bottom:0; }
.pitem__body{ padding:clamp(16px,2vw,22px); display:flex; flex-direction:column; flex:1; }
.pitem h3{
  font-family:var(--ff-display); font-size:1.28rem; line-height:1.2;
  margin-bottom:.45em;
}
.pitem__desc{ font-size:.93rem; line-height:1.6; color:var(--txt-mute); margin:0 0 1em; }

.pitem details{ margin-top:auto; border-top:1px solid var(--linen-2); padding-top:.8em; }
.pitem summary{
  cursor:pointer; list-style:none;
  font-size:.74rem; letter-spacing:.14em; text-transform:uppercase;
  color:var(--blue-700); font-weight:500;
  display:flex; align-items:center; gap:.5em;
}
.pitem summary::-webkit-details-marker{ display:none; }
.pitem summary::before{
  content:"+"; display:inline-grid; place-items:center;
  width:1.35em; height:1.35em; border-radius:50%;
  background:var(--blue-100); color:var(--blue-700);
  font-size:.9rem; line-height:1;
}
.pitem details[open] summary::before{ content:"–"; }
.pitem details p{
  font-size:.86rem; line-height:1.65; color:var(--txt-mute);
  margin:.9em 0 0;
}
.pitem details p strong{ color:var(--txt-dark); }
.pitem details .alerg{
  background:rgba(91,115,145,.08);
  border-left:2px solid var(--blue-500);
  padding:.6em .8em; border-radius:0 4px 4px 0;
}

.pempty{
  padding:clamp(40px,8vh,90px) 0; text-align:center;
  font-family:var(--ff-display); font-size:1.4rem; color:var(--txt-mute);
}
.pempty[hidden]{ display:none; }

/* ---------- stopka ---------- */
.pfoot{
  margin-top:clamp(56px,9vh,110px);
  background:var(--wood-900); color:var(--txt-light);
  border-top:2px solid var(--blue-700);
  padding:clamp(44px,7vh,80px) 0 30px;
}
.pfoot__grid{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:clamp(22px,3vw,40px);
}
.pfoot h4{
  font-size:.7rem; letter-spacing:.24em; text-transform:uppercase;
  color:var(--blue-300); margin-bottom:1em; font-weight:500;
}
.pfoot p{ margin:0 0 .5em; font-size:.95rem; }
.pfoot a{ color:inherit; text-decoration:none; border-bottom:1px solid rgba(255,204,0,.32); }
.pfoot a:hover{ color:var(--gold); border-color:var(--gold); }
.pfoot__bar{
  margin-top:clamp(30px,5vh,52px); padding-top:22px;
  border-top:1px solid rgba(246,241,230,.12);
  font-size:.82rem; color:var(--txt-light-2);
  display:flex; flex-wrap:wrap; gap:12px; justify-content:space-between;
}

@media (max-width:760px){
  .pfilter{ top:53px; }
  .pcount{ margin-left:0; width:100%; }
}
@media (prefers-reduced-motion:reduce){
  .pitem{ transition:none; }
  .pitem:hover{ transform:none; }
}
