/* product pages, /shop/ and /info/ (generated by build_catalog.py) */
.pd{background:var(--bg,#e3f4f1);padding:18px 0 34px}
.pd .narrow{max-width:760px;background:#fff;border-radius:14px;padding:22px 24px;box-shadow:0 2px 10px rgba(31,42,51,.08)}
.pd .narrow h1{font-size:28px;color:var(--c)}.pd .narrow h2{font-size:19px;margin:18px 0 4px;color:var(--ink)}
.pd .crumbs{font-size:13.5px;color:var(--muted);margin-bottom:10px}.pd .crumbs a{color:var(--c);font-weight:600}
.pgrid{display:grid;gap:22px;grid-template-columns:1fr}
@media (min-width:820px){.pgrid{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}}
.gallery #main{width:100%;height:auto;border-radius:14px;background:#fff;box-shadow:0 2px 10px rgba(31,42,51,.1);display:block}
.thumbs{display:flex;gap:8px;margin-top:10px;overflow-x:auto;scrollbar-width:thin}
.thumbs button{flex:none;border:2px solid transparent;border-radius:10px;padding:0;background:#fff;cursor:pointer;overflow:hidden}
.thumbs button[aria-current]{border-color:var(--c)}.thumbs img{display:block;width:76px;height:60px;object-fit:cover}
.info{background:#fff;border-radius:14px;padding:18px 20px;box-shadow:0 2px 10px rgba(31,42,51,.08);min-width:0}
.info h1{font-size:clamp(20px,2.6vw,26px);line-height:1.25;margin-bottom:6px}
.info .price{font-size:24px}.info .price small{font-size:14px;color:var(--muted);font-weight:600}
.info .kind{font-size:14px;color:var(--muted);margin:2px 0 10px}
.hub .buy.big{font-size:15.5px;padding:11px 24px}
.info .secure{font-size:13px;color:var(--muted);margin-top:8px}
.desc{margin-top:16px;border-top:2px solid var(--bg);padding-top:12px;font-size:14.5px;overflow-wrap:anywhere}
.desc p{margin:0 0 10px}.desc h3{font-size:15px;margin:14px 0 4px;color:var(--c)}
.desc ul,.desc ol{margin:0 0 10px 20px}.desc li{margin:2px 0}
.more-h{font-size:20px;margin:26px 0 10px;color:var(--c)}
.related{display:grid;gap:12px;grid-template-columns:repeat(2,1fr)}
@media (min-width:700px){.related{grid-template-columns:repeat(4,1fr)}}
.mini{background:#fff;border-radius:12px;overflow:hidden;text-decoration:none;display:flex;flex-direction:column;box-shadow:0 2px 8px rgba(31,42,51,.08)}
.mini img{width:100%;aspect-ratio:4/3;object-fit:cover}.mini span{font-size:13.5px;font-weight:600;padding:6px 10px 0;line-height:1.3}
.mini b{color:var(--coral);padding:2px 10px 8px;font-size:14px}
.hub .card a.pl{text-decoration:none;color:inherit}
.hub footer{color:#fff}
.hub .pnav{display:flex;gap:14px}.pnav a{white-space:nowrap}
@media (max-width:480px){.hub .pnav{gap:10px;font-size:12.5px}.hub .brand span{display:none}}
