
.sprzet-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:24px;
  margin-top:40px;
  align-items:stretch;
}

.sprzet-card{
  width:auto;
  min-width:0;
  background:#ffffff;
  border-radius:20px;
  padding:22px;
  text-align:center;
  box-shadow:0 10px 25px rgba(0,0,0,0.08);
  transition:transform .2s ease, box-shadow .2s ease;
  display:flex;
  flex-direction:column;
  gap:10px;
  min-height:100%;
}

.sprzet-card:hover{
  transform:translateY(-6px);
  box-shadow:0 18px 34px rgba(0,0,0,.12);
}

.sprzet-card img{
  width:100%;
  height:180px;
  object-fit:contain;
  cursor:pointer;
}

.sprzet-card h3{
  font-size:1.1rem;
  line-height:1.25;
}

.sprzet-card p{
  color:#475569;
  line-height:1.6;
}

.more{
  color:#2a7de1;
  font-weight:700;
  display:block;
  margin-top:auto;
}

.lightbox{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,0.9);
  display:none;
  align-items:center;
  justify-content:center;
  z-index:9999;
  padding:20px;
}

.lightbox img{
  max-width:90%;
  max-height:90%;
}

.lightbox.active{
  display:flex;
}

.machine-modal,
.modal{
  display:none;
  position:fixed;
  inset:0;
  background:rgba(0,0,0,0.64);
  justify-content:center;
  align-items:center;
  z-index:2000;
  padding:16px;
  overflow-y:auto;
}

.machine-box,
.modal-content{
  position:relative;
  background:white;
  padding:24px;
  border-radius:20px;
  width:min(640px, 100%);
  max-height:calc(100vh - 32px);
  overflow:auto;
  box-shadow:0 25px 50px rgba(0,0,0,.3);
  margin:0;
  animation:modalOpen .25s ease;
}

@keyframes modalOpen{
  from{
    opacity:0;
    transform:translateY(20px) scale(.97);
  }
  to{
    opacity:1;
    transform:translateY(0) scale(1);
  }
}

.machine-close,
.close{
  cursor:pointer;
  font-size:26px;
  position:absolute;
  top:12px;
  right:12px;
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:#f3f6fb;
  line-height:1;
}

#m_title{
  padding-right:56px;
}

#m_img{
  max-height:260px;
  object-fit:contain;
  margin:18px 0;
}

.machine-params,
#m_params{
  margin-top:18px;
  list-style:none;
  padding:0;
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px;
}

.machine-params div,
#m_params li{
  background:#f3f3f3;
  padding:10px 12px;
  border-radius:10px;
  font-size:14px;
  line-height:1.5;
}

@media (max-width:1200px){
  .sprzet-grid{
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }
}

@media (max-width:1024px){
  .sprzet-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (max-width:700px){
  .sprzet-grid{
    grid-template-columns:1fr;
  }

  .machine-box,
  .modal-content{
    padding:20px 16px;
    width:100%;
    max-height:calc(100dvh - 24px);
    border-radius:18px;
  }

  .machine-params,
  #m_params{
    grid-template-columns:1fr;
  }
}
