/* Joseph & Marcel · losse pagina's (wijnen, wijnhuizen, gidsen) */
body.sp{background:var(--bg);color:var(--ink)}
.sp-top{border-bottom:1px solid var(--line);background:var(--bg);position:sticky;top:0;z-index:20}
.sp-top .inner{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:72px}
.sp-nav{display:flex;gap:22px;flex-wrap:wrap;font-size:14px}
.sp-nav a:hover,.sp-lang a:hover{text-decoration:underline}
.sp-lang{display:flex;gap:4px}
.sp-lang a{font-size:12px;font-weight:600;letter-spacing:.06em;padding:6px 8px;border:1px solid transparent;border-radius:999px}
.sp-lang a[aria-current]{border-color:var(--ink)}
main.wrap{padding-bottom:72px}
.crumbs{font-size:13px;color:var(--muted);margin:26px 0 30px}
.crumbs a{text-decoration:underline}
.sp-h1{font-size:clamp(38px,5.4vw,72px);font-weight:300;line-height:1.02;margin:8px 0 10px}
.sp-house{font-size:17px;color:var(--ink-2);margin-bottom:6px}
.pgrid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:56px;align-items:start}
.pvis{background:#fff;display:flex;align-items:center;justify-content:center;aspect-ratio:4/5;position:sticky;top:96px}
.pvis img{width:82%;height:86%;object-fit:contain}
.pvis svg{height:70%}
.pprice{font-size:30px;margin:16px 0 18px;font-variant-numeric:tabular-nums}
.pprice small{font-size:14px;color:var(--muted)}
.sp-note{font-size:14px;background:#fff;padding:12px 14px;margin-bottom:16px}
.sp-txt{margin:28px 0 10px}
.pfacts{margin:22px 0}
.pfacts div{display:grid;grid-template-columns:150px 1fr;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}
.pfacts dt{color:var(--muted);font-size:14px}
.pfacts a{text-decoration:underline}
.sp-ship{font-size:14px;color:var(--ink-2)}
.sp-more{margin-top:64px;padding-top:40px;border-top:1px solid var(--line)}
.sp-more h2,.sp-cat h2,.sp-guide h2{font-size:clamp(26px,3.2vw,38px);font-weight:400;margin-bottom:22px}
.sp-more>p{margin-top:26px}
.plist{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:28px 18px}
.sp-card{display:flex;flex-direction:column;gap:6px}
.sp-card .pv{background:#fff;aspect-ratio:4/5;display:flex;align-items:center;justify-content:center;overflow:hidden;margin-bottom:6px}
.sp-card .pv img{width:84%;height:86%;object-fit:contain;transition:transform .4s ease}
.sp-card .pv svg{height:66%}
.sp-card:hover .pv img{transform:scale(1.04)}
.sp-card b{font-family:var(--display);font-size:20px;font-weight:500;line-height:1.1}
.sp-card small{font-size:12px;color:var(--muted)}
.sp-card .pr{font-variant-numeric:tabular-nums}
.sp-hhead{max-width:820px}
.sp-hhead .hq{margin:22px 0}
.sp-cat{margin-top:44px}
.sp-cat h2 small{font-size:15px;color:var(--muted)}
.sp-cat ul{list-style:none;padding:0;columns:2;column-gap:40px}
.sp-cat li{break-inside:avoid;padding:7px 0;border-bottom:1px solid var(--line);font-size:15px}
.sp-cat li a{text-decoration:underline}
.sp-cat li span{display:block;font-size:12px;color:var(--muted)}
.sp-cat ul.cols{columns:3}
.sp-guides{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px;margin-top:30px}
.sp-guides a{display:flex;flex-direction:column;gap:10px;background:#fff;padding:24px}
.sp-guides b{font-family:var(--display);font-size:26px;font-weight:500;line-height:1.1}
.sp-guides span{font-size:14px;color:var(--ink-2)}
.sp-guides em{font-style:normal;font-size:14px;text-decoration:underline;margin-top:auto}
.sp-guide{max-width:760px}
.sp-guide h2{margin:36px 0 10px}
.sp-guide p{font-size:17px;line-height:1.7;color:var(--ink-2)}
.sp-foot{border-top:1px solid var(--line);padding-top:40px;padding-bottom:40px}
.sp-foot p{font-size:14px;margin-top:8px}
.sp-foot a{text-decoration:underline}
.sp-small{color:var(--muted);font-size:12px!important}
@media (max-width:860px){.sp-top .inner{flex-wrap:wrap;min-height:0;padding:12px 0 0}.sp-nav{order:3;width:100%;flex-wrap:nowrap;overflow-x:auto;gap:18px;padding:4px 0 12px;white-space:nowrap}}
@media (max-width:760px){.pgrid{grid-template-columns:1fr;gap:26px}.pvis{position:static;aspect-ratio:1/1}.sp-cat ul,.sp-cat ul.cols{columns:1}.pfacts div{grid-template-columns:120px 1fr}}
@media (max-width:560px){.plist{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 12px}.sp-card b{font-size:17px}}