/* produkt-archiwum.css — archiwum CPT produkt */

/* Slider (okc) */
.okc-sekcja { background:#fff; }
.okc-tytul { font-size:clamp(1.8rem,3.5vw,2.8rem); font-weight:500; letter-spacing:-.025em; line-height:1.1; color:#0A0A0A; margin:0; }
.okc-tagline { font-size:.92rem; color:#6B6B6B; margin:0; }
.okc-btn-wszystkie { font-size:.88rem; font-weight:600; color:#0A0A0A; text-decoration:underline; text-underline-offset:3px; white-space:nowrap; transition:color .18s; }
.okc-btn-wszystkie:hover { color:#28538E; }
.okc-arrow { width:40px; height:40px; border-radius:50%; background:white; border:1px solid #E4E4E4; font-size:1rem; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; transition:all .2s; flex-shrink:0; }
.okc-arrow:hover { background:#0A0A0A; color:white; border-color:#0A0A0A; }
.okc-arrow.swiper-button-disabled { opacity:.35; cursor:default; pointer-events:none; }
.okc-sekcja .swiper { overflow:visible; }
.okc-sekcja .swiper-slide { height:auto; }
.okc-karta { border:1px solid #E8ECF0; border-radius:16px; overflow:hidden; background:white; display:flex; flex-direction:column; height:100%; transition:transform .2s,box-shadow .2s; }
.okc-karta:hover { transform:translateY(-3px); box-shadow:0 12px 36px rgba(10,10,10,.10); }
.okc-karta__img-wrap { aspect-ratio:4/3; background:#EFF1F4; overflow:hidden; position:relative; display:block; }
.okc-karta__img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .4s; }
.okc-karta__img--ph { width:100%; aspect-ratio:4/3; background:#EFF1F4; }
.okc-karta__img-wrap:hover .okc-karta__img { transform:scale(1.04); }
.okc-karta__badge { position:absolute; top:10px; left:10px; font-family:"JetBrains Mono",monospace; font-size:.60rem; letter-spacing:.10em; background:rgba(10,10,10,.72); color:white; padding:3px 10px; border-radius:50px; backdrop-filter:blur(4px); }
.okc-karta__body { padding:1rem 1.1rem 1.25rem; display:flex; flex-direction:column; flex-grow:1; }
.okc-karta__kat { font-family:"JetBrains Mono",monospace; font-size:.60rem; letter-spacing:.10em; color:#9aacbc; margin-bottom:.4rem; }
.okc-karta__nazwa { font-size:1.1rem; font-weight:500; margin:0 0 .75rem; line-height:1.3; }
.okc-karta__nazwa a { color:#0A0A0A; text-decoration:none; }
.okc-karta__nazwa a:hover { color:#28538E; }
.okc-karta__specs { display:flex; gap:1.5rem; padding:.75rem 0; border-top:1px solid #E8ECF0; margin-bottom:.75rem; }
.okc-spec-label { font-family:"JetBrains Mono",monospace; font-size:.62rem; letter-spacing:.08em; text-transform:uppercase; color:#9aacbc; margin-bottom:2px; }
.okc-spec-val   { font-size:.95rem; font-weight:700; color:#0A0A0A; }
.okc-btn { padding:11px 16px; border-radius:50px; font-size:.88rem; font-weight:500; text-decoration:none; transition:all .2s; }
.okc-btn--primary { background:#28538E; color:white !important; }
.okc-btn--primary:hover { background:#1b3d6e; }
.okc-btn--ghost { background:white; color:#0A0A0A !important; border:1px solid #E4E4E4; }
.okc-btn--ghost:hover { background:#f0f4f8; }

/* Archiwum z filtrami (opc) */
.opc-sekcja { background:#F4F6F9; }
.opc-eyebrow { font-family:"JetBrains Mono",monospace; font-size:.68rem; letter-spacing:.12em; text-transform:uppercase; color:#28538E; display:flex; align-items:center; gap:8px; }
.opc-eyebrow::before { content:""; display:inline-block; width:20px; height:1px; background:#28538E; }
.opc-eyebrow-sep { color:#9aacbc; }
.opc-eyebrow-widok { color:#9aacbc; }
.opc-tytul { font-size:clamp(1.8rem,3.5vw,2.6rem); font-weight:500; letter-spacing:-.025em; color:#0A0A0A; }
.opc-opis  { font-size:.92rem; color:#6B6B6B; line-height:1.6; max-width:48rem; margin:0; }

/* Filtry */
.opc-filtry { background:white; border:1px solid #E4E4E4; border-radius:14px; padding:1.25rem; position:sticky; top:90px; }
.opc-filtry__head { font-family:"JetBrains Mono",monospace; font-size:.65rem; letter-spacing:.14em; text-transform:uppercase; color:#9aacbc; margin-bottom:1rem; }
.opc-filtry__grupa { border-top:1px solid #F0F4F8; padding:.9rem 0; }
.opc-filtry__label { font-size:.82rem; font-weight:600; color:#2a3a4a; margin-bottom:.6rem; }
.opc-filtry__range { width:100%; accent-color:#28538E; cursor:pointer; display:block; margin-bottom:4px; }
.opc-filtry__range-labels { font-family:"JetBrains Mono",monospace; font-size:.68rem; color:#6B6B6B; margin-top:4px; }
.opc-filtry__check-label { display:flex; align-items:center; gap:8px; font-size:.85rem; color:#2a3a4a; cursor:pointer; margin-bottom:6px; }
.opc-filtry__check-label input[type="checkbox"] { width:15px; height:15px; accent-color:#28538E; cursor:pointer; flex-shrink:0; }
.opc-filtry__apply { background:#28538E; color:white; border:none; border-radius:50px; padding:10px 16px; font-size:.82rem; font-weight:600; font-family:inherit; cursor:pointer; transition:background .2s; margin-top:.75rem; }
.opc-filtry__apply:hover { background:#1b3d6e; }
.opc-filtry__reset { font-size:.78rem; color:#9aacbc; text-decoration:none; transition:color .18s; display:block; text-align:center; padding:6px 0; }
.opc-filtry__reset:hover { color:#0A0A0A; }

/* Topbar */
.opc-topbar { background:white; border:1px solid #E4E4E4; border-radius:12px; padding:10px 16px; }
.opc-topbar__label { font-size:.82rem; color:#9aacbc; white-space:nowrap; }
.opc-topbar__sort { border:1px solid #E4E4E4; border-radius:8px; padding:5px 28px 5px 10px; font-size:.85rem; font-family:inherit; color:#0A0A0A; cursor:pointer; outline:none; background:white url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236B7A8A' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 8px center; appearance:none; }
.opc-topbar__count { font-size:.82rem; color:#9aacbc; white-space:nowrap; }
.opc-topbar__search { background:#F4F6F9; border:1px solid #E4E4E4; border-radius:50px; padding:6px 14px; color:#6B6B6B; flex-shrink:0; }
.opc-topbar__search-inp { background:transparent; border:none; outline:none; font-size:.82rem; font-family:inherit; color:#2a3a4a; width:160px; }
.opc-topbar__search-inp::placeholder { color:#B0BAC5; }

/* Karty siatki */
.opc-karta { background:white; border:1px solid #E8ECF0; border-radius:16px; overflow:hidden; display:flex; flex-direction:column; transition:transform .2s,box-shadow .2s; }
.opc-karta:hover { transform:translateY(-3px); box-shadow:0 12px 36px rgba(10,10,10,.10); }
.opc-karta__img-wrap { aspect-ratio:4/3; background:#EFF1F4; overflow:hidden; position:relative; display:block; }
.opc-karta__img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .4s; }
.opc-karta__img-ph { width:100%; aspect-ratio:4/3; background:#EFF1F4; }
.opc-karta__img-wrap:hover .opc-karta__img { transform:scale(1.04); }
.opc-karta__badge { position:absolute; top:10px; left:10px; font-family:"JetBrains Mono",monospace; font-size:.60rem; letter-spacing:.10em; background:rgba(10,10,10,.72); color:white; padding:3px 10px; border-radius:50px; backdrop-filter:blur(4px); }
.opc-karta__body { padding:1rem 1.1rem 1.25rem; display:flex; flex-direction:column; flex-grow:1; }
.opc-karta__kat { font-family:"JetBrains Mono",monospace; font-size:.60rem; letter-spacing:.10em; color:#9aacbc; margin-bottom:.4rem; }
.opc-karta__nazwa { font-size:1.1rem; font-weight:500; margin:0 0 .75rem; line-height:1.3; }
.opc-karta__nazwa a { color:#0A0A0A; text-decoration:none; }
.opc-karta__nazwa a:hover { color:#28538E; }
.opc-karta__specs { display:flex; gap:1.5rem; padding:.75rem 0; border-top:1px solid #E8ECF0; margin-bottom:.75rem; }
.opc-spec-label { font-family:"JetBrains Mono",monospace; font-size:.62rem; letter-spacing:.08em; text-transform:uppercase; color:#9aacbc; margin-bottom:2px; }
.opc-spec-val   { font-size:.95rem; font-weight:700; color:#0A0A0A; }
.opc-btn { padding:11px 16px; border-radius:50px; font-size:.88rem; font-weight:500; text-decoration:none; transition:all .2s; }
.opc-btn--primary { background:#28538E; color:white !important; }
.opc-btn--primary:hover { background:#1b3d6e; }
.opc-btn--ghost { background:white; color:#0A0A0A !important; border:1px solid #E4E4E4; }
.opc-btn--ghost:hover { background:#f0f4f8; }

/* Paginacja */
.opc-page-btn { width:36px; height:36px; display:inline-flex; align-items:center; justify-content:center; border-radius:50%; border:1px solid #E4E4E4; background:white; color:#0A0A0A; font-size:.85rem; font-weight:500; text-decoration:none; transition:all .2s; }
.opc-page-btn--on { background:#0A0A0A; color:white; border-color:#0A0A0A; }
.opc-page-btn:hover:not(.opc-page-btn--on) { background:#f0f4f8; }

@media (max-width:991.98px) { .opc-filtry { position:static; } .opc-topbar { flex-wrap:wrap; } }
