:root{
  --oh-ink:#0b1020;
  --oh-muted:#64748b;
  --oh-stroke:rgba(15,23,42,.10);
  --oh-card:rgba(255,255,255,.92);
  --oh-shadow:0 18px 45px rgba(2,8,23,.14);
  --oh-shadow2:0 28px 65px rgba(2,8,23,.20);
}

/* ogólne premium hover (bez rozwalania layoutu) */
.oh-tilt, .ohx-card, .ohx-pack{
  transition: transform .22s ease, box-shadow .22s ease, filter .22s ease, border-color .22s ease, background-color .22s ease;
  will-change: transform;
  transform-style: preserve-3d;
}
@media (hover:hover) and (pointer:fine){
  .oh-tilt:hover, .ohx-card:hover, .ohx-pack:hover{
    transform: translateY(-7px);
    box-shadow: var(--oh-shadow2);
    filter: saturate(1.06);
  }
}

/* Shoper block */
.ohx-shoper{
  margin-top: 18px;
  padding: 18px;
  border: 1px solid var(--oh-stroke);
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(109,40,217,.08), rgba(14,165,233,.05));
}
.ohx-shoper__head{ display:flex; gap:14px; align-items:center; justify-content:space-between; flex-wrap:wrap; }
.ohx-shoper__brand{ display:flex; gap:14px; align-items:center; }
.ohx-shoper__brand img{ height:44px; width:auto; }
.ohx-shoper__title{ margin:0; font-weight:900; color:var(--oh-ink); }
.ohx-shoper__sub{ margin:4px 0 0; color:var(--oh-muted); font-weight:700; }

.ohx-grid{
  margin-top: 14px;
  display:grid;
  grid-template-columns: repeat(3, minmax(220px, 1fr));
  gap: 14px;
}
@media (max-width: 980px){ .ohx-grid{ grid-template-columns: 1fr; } }

.ohx-pack{
  border: 1px solid var(--oh-stroke);
  background: var(--oh-card);
  border-radius: 18px;
  padding: 16px;
}
.ohx-pack h4{ margin: 0 0 6px; font-weight:900; color:var(--oh-ink); }
.ohx-pack .price{ font-weight:900; font-size: 20px; margin: 10px 0 8px; }
.ohx-pack ul{ margin:0; padding-left: 18px; color:#111827; }
.ohx-pack li{ margin: 6px 0; }
.ohx-note{ margin-top: 10px; color:var(--oh-muted); font-size: 13px; font-weight:700; }
.ohx-badge{
  display:inline-flex; align-items:center;
  font-size:12px; font-weight:900;
  padding: 5px 10px;
  border-radius: 999px;
  background: rgba(109,40,217,.12);
  border: 1px solid rgba(109,40,217,.22);
  color:#4c1d95;
}

/* Realizacje – grid premium */
.ohx-wrap{ max-width: 1200px; margin: 0 auto; padding: 18px; }
.ohx-h1{ margin: 0 0 8px; font-weight: 950; color: var(--oh-ink); }
.ohx-p{ margin:0 0 14px; color: var(--oh-muted); font-weight:700; }

.ohx-toolbar{ display:flex; gap:10px; align-items:center; flex-wrap:wrap; margin: 12px 0 14px; }
.ohx-chip{
  border: 1px solid var(--oh-stroke);
  background: var(--oh-card);
  padding: 8px 12px;
  border-radius: 999px;
  font-weight: 900;
  color: var(--oh-ink);
  cursor: pointer;
}
.ohx-chip[aria-pressed="true"]{
  background: linear-gradient(135deg, rgba(109,40,217,.15), rgba(14,165,233,.10));
  border-color: rgba(109,40,217,.25);
}

.ohx-search{
  border: 1px solid var(--oh-stroke);
  background: var(--oh-card);
  border-radius: 14px;
  padding: 10px 12px;
  font-weight: 800;
  min-width: 260px;
  outline: none;
}

.ohx-grid2{
  display:grid;
  grid-template-columns: repeat(3, minmax(260px, 1fr));
  gap: 16px;
}
@media (max-width: 1100px){ .ohx-grid2{ grid-template-columns: repeat(2, minmax(260px, 1fr)); } }
@media (max-width: 740px){ .ohx-grid2{ grid-template-columns: 1fr; } }

.ohx-card{
  display:block;
  text-decoration:none;
  border: 1px solid var(--oh-stroke);
  background: var(--oh-card);
  border-radius: 18px;
  overflow:hidden;
  box-shadow: var(--oh-shadow);
}
.ohx-thumb{
  height: 180px;
  background: linear-gradient(135deg, rgba(109,40,217,.18), rgba(14,165,233,.10));
}
.ohx-thumb img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display:block;
}
.ohx-body{ padding: 12px 14px 14px; }
.ohx-title{ margin:0; font-weight: 950; color: var(--oh-ink); }
.ohx-meta{ margin: 6px 0 0; color: var(--oh-muted); font-weight: 800; font-size: 13px; }
.ohx-kind{ margin-top: 8px; display:inline-block; font-weight: 900; font-size: 12px; color:#0b1020; opacity:.75; }
