.psp-wrap{--psp-accent:#0b63f6;--psp-text:#182230;--psp-muted:#687386;max-width:1200px;margin:40px auto;padding:0 18px;font-family:inherit;color:var(--psp-text)}
.psp-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:24px}.psp-kicker{font-size:12px;letter-spacing:2px;font-weight:800;color:var(--psp-accent)}.psp-heading h2{margin:7px 0 0;font-size:clamp(28px,4vw,42px);line-height:1.1}
.psp-controls{display:flex;gap:9px}.psp-arrow{width:45px;height:45px;border:1px solid #dce2eb;background:#fff;border-radius:50%;cursor:pointer;font-size:20px;transition:.25s}.psp-arrow:hover{background:var(--psp-accent);color:#fff;transform:translateY(-2px)}
.psp-slider{overflow:hidden}.psp-track{display:flex;gap:22px;overflow-x:auto;scroll-behavior:smooth;scroll-snap-type:x mandatory;padding:5px 2px 18px;scrollbar-width:none}.psp-track::-webkit-scrollbar{display:none}
.psp-card{flex:0 0 calc((100% - 44px)/3);min-width:280px;background:#fff;border:1px solid #e8edf3;border-radius:18px;overflow:hidden;scroll-snap-align:start;box-shadow:0 10px 35px rgba(22,35,55,.07);transition:.3s}.psp-card:hover{transform:translateY(-6px);box-shadow:0 18px 45px rgba(22,35,55,.13)}
.psp-image{display:block;position:relative;aspect-ratio:4/3;background:#f3f6fa;overflow:hidden}.psp-image img{width:100%;height:100%;object-fit:cover;transition:.45s}.psp-card:hover .psp-image img{transform:scale(1.06)}.psp-placeholder{display:grid;place-items:center;height:100%;color:#8a95a6}.psp-badge{position:absolute;left:14px;top:14px;background:#fff;padding:6px 10px;border-radius:30px;font-size:11px;font-weight:700}
.psp-card-body{padding:20px}.psp-sku{color:#8a95a6;font-size:11px;text-transform:uppercase;letter-spacing:1px}.psp-card h3{margin:7px 0 8px;font-size:21px}.psp-card h3 a{color:inherit;text-decoration:none}.psp-card p{color:var(--psp-muted);font-size:14px;line-height:1.65;margin:0 0 18px}.psp-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px}.psp-price{font-size:18px}.psp-readmore{color:var(--psp-accent);font-weight:700;text-decoration:none;font-size:14px}.psp-readmore span{display:inline-block;transition:.2s}.psp-readmore:hover span{transform:translateX(5px)}
.psp-pagination{display:flex;justify-content:center;margin-top:12px}.psp-pagination ul{display:flex;gap:7px;list-style:none;padding:0;margin:0}.psp-pagination a,.psp-pagination span{min-width:38px;height:38px;display:grid;place-items:center;border:1px solid #dfe5ed;border-radius:9px;text-decoration:none;color:inherit}.psp-pagination .current{background:var(--psp-accent);color:#fff;border-color:var(--psp-accent)}
.psp-detail{max-width:1200px;margin:30px auto;padding:0 18px}.psp-back{display:inline-block;margin-bottom:25px;text-decoration:none;color:var(--psp-accent);font-weight:700}.psp-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:55px;align-items:start}.psp-detail-main{border-radius:20px;overflow:hidden;background:#f3f6fa;border:1px solid #e7ebf1}.psp-detail-main img{width:100%;display:block;aspect-ratio:1/1;object-fit:cover}.psp-thumb-row{display:flex;gap:10px;margin-top:12px}.psp-thumb{width:78px;height:78px;padding:3px;border:2px solid var(--psp-accent);border-radius:10px;background:#fff;cursor:pointer}.psp-thumb img{width:100%;height:100%;object-fit:cover;border-radius:6px}.psp-detail-cat{font-size:12px;color:var(--psp-accent);font-weight:800;text-transform:uppercase;letter-spacing:1.5px}.psp-detail-info h1{font-size:clamp(30px,5vw,54px);line-height:1.08;margin:10px 0 18px}.psp-detail-meta{display:flex;gap:10px;color:#6c7788;font-size:14px;margin-bottom:15px}.psp-detail-price{font-size:28px;font-weight:800;margin:10px 0 25px}.psp-detail-description{color:#4e5969;line-height:1.8;font-size:16px}.psp-detail-description h1{font-size:32px}
@media(max-width:900px){.psp-card{flex-basis:calc((100% - 22px)/2)}.psp-detail-grid{grid-template-columns:1fr;gap:30px}}
@media(max-width:600px){.psp-heading{align-items:start}.psp-card{flex-basis:88%}.psp-controls{display:none}.psp-detail{padding:0 14px}.psp-detail-grid{gap:22px}}
