/* Homepage "Shop per collectie" rail */
.sonw-hc{max-width:1570px;margin:40px auto 24px;padding:0 15px;color:#171914}
.sonw-hc-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 20px}
.sonw-hc h2{margin:0;color:#171914;font-size:clamp(20px,1.87vw,28px);font-weight:700;letter-spacing:-.02em;line-height:1.2}
.sonw-hc-nav{display:flex;gap:8px}
.sonw-hc .sonw-hc-nav button,.sonw-hblog .sonw-hc-nav button{display:grid;place-items:center;width:42px;height:42px;min-height:0;margin:0;padding:0;border:0;border-radius:8px!important;background:#171914;color:#fff;box-shadow:none;cursor:pointer;transition:background-color .15s}
.sonw-hc .sonw-hc-nav button:disabled,.sonw-hblog .sonw-hc-nav button:disabled{background:#d9d9d4;color:#fff;cursor:default}
.sonw-hc-nav svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.sonw-hc-rail{display:flex;gap:16px;margin:0;padding:0 0 4px;overflow-x:auto;list-style:none;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;overscroll-behavior-x:contain}
.sonw-hc-rail::-webkit-scrollbar{display:none}
.sonw-hc-rail>li{flex:0 0 calc((100% - 64px)/4.4);margin:0;scroll-snap-align:start}
.sonw-hc-card{display:block;color:#171914!important;text-decoration:none!important}
.sonw-hc-img{display:block;overflow:hidden;aspect-ratio:5/6;margin:0 0 14px;border-radius:10px;background:#f5f5f3}
.sonw-hc-img img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s}
.sonw-hc-card:hover .sonw-hc-img img{transform:scale(1.04)}
.sonw-hc-card strong{display:block;margin:0 10px 4px;font-size:17px;font-weight:800;line-height:1.2;letter-spacing:-.01em}
.sonw-hc-sub{display:block;margin:0 10px;color:#3a3b36;font-size:13px;line-height:1.4}
@media(max-width:1199px){.sonw-hc-rail>li{flex-basis:calc((100% - 48px)/3.3)}}
@media(max-width:849px){.sonw-hc{margin:28px auto 16px}.sonw-hc-rail{gap:12px}.sonw-hc-rail>li{flex-basis:calc((100% - 24px)/2.3)}.sonw-hc-card strong{margin:0 4px 2px;font-size:14px}.sonw-hc-sub{margin:0 4px;font-size:12px}}
@media(max-width:549px){.sonw-hc-nav{display:none}.sonw-hc-rail{margin-right:-15px;padding-right:15px}.sonw-hc-rail>li{flex-basis:72%}}
@media(prefers-reduced-motion:reduce){.sonw-hc-rail{scroll-behavior:auto}.sonw-hc-img img{transition:none}}
/* Homepage "Shop bestsellers" */
.sonw-hb{margin-top:48px}
.sonw-hb .sonw-hb-all,.sonw-hblog .sonw-hb-all{display:inline-flex;align-items:center;min-height:42px;padding:0 20px;border-radius:8px;background:#171914;color:#fff!important;font-size:13px;font-weight:700;text-decoration:none!important;white-space:nowrap}
.sonw-hb .sonw-hb-all:hover,.sonw-hblog .sonw-hb-all:hover{background:#34362f}
.sonw-hb .woocommerce{margin:0}
.sonw-hb-intro{max-width:none;margin:-6px 0 22px;color:#3a3b36;font-size:14px;line-height:1.65}
.sonw-hb-intro p{margin:0}
.sonw-hb-intro a,.sonw-hi a{color:#171914!important;font-weight:600;text-decoration:underline;text-decoration-color:#ffda40;text-decoration-thickness:2px;text-underline-offset:3px}
/* Homepage "Wat is schilderen op nummer?" under the hero */
.sonw-hi{max-width:1570px;margin:36px auto 0;padding:0 15px}
.sonw-hi .elementor-widget-container{max-width:none}
.sonw-hi h2{margin:0 0 10px;color:#171914;font-size:clamp(20px,1.87vw,28px);font-weight:700;letter-spacing:-.02em;line-height:1.2}
.sonw-hi p{margin:0;color:#3a3b36;font-size:14px;line-height:1.65}
@media(max-width:849px){.sonw-hi{margin-top:24px}.sonw-hb-intro,.sonw-hi p{font-size:13px}}
/* Homepage blog rail */
.sonw-hblog{margin:56px 0 0;padding:56px 0 48px;background:#fff8d9}
.sonw-hblog-inner{max-width:1570px;margin:0 auto;padding:0 15px;color:#171914}
.sonw-hblog h2{margin:0;color:#171914;font-size:clamp(20px,1.87vw,28px);font-weight:700;letter-spacing:-.02em;line-height:1.2}
.sonw-hblog-rail{display:flex;gap:20px;margin:0;padding:0;overflow-x:auto;list-style:none;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;overscroll-behavior-x:contain}
.sonw-hblog-rail::-webkit-scrollbar{display:none}
.sonw-hblog-rail>li{flex:0 0 calc((100% - 80px)/4.6);margin:0;scroll-snap-align:start}
.sonw-hblog-card{display:block;color:#171914!important;text-decoration:none!important}
.sonw-hblog-img{position:relative;display:block;overflow:hidden;aspect-ratio:4/3;margin:0 0 12px;border-radius:14px;background:#fff6d2}
.sonw-hblog-img img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s}
.sonw-hblog-card:hover .sonw-hblog-img img{transform:scale(1.04)}
.sonw-hblog-img em{position:absolute;top:10px;left:10px;padding:4px 10px;border-radius:999px;background:#fff;color:#171914;font-size:10px;font-style:normal;font-weight:700}
.sonw-hblog-card time{display:block;margin:0 0 4px;color:#6b6d66;font-size:11px}
.sonw-hblog-card strong{display:-webkit-box;margin:0 0 10px;overflow:hidden;font-size:14px;font-weight:700;line-height:1.35;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.sonw-hblog-card:hover strong{text-decoration:underline;text-decoration-color:#ffda40;text-decoration-thickness:2px;text-underline-offset:3px}
.sonw-hblog-author{display:flex;align-items:center;gap:8px;font-size:11px}
.sonw-hblog-author img{width:28px;height:28px;padding:3px;border:1px solid #ececec;border-radius:50%;background:#fff;object-fit:contain}
.sonw-hblog-bar{height:4px;margin:24px 0 16px;border-radius:2px;background:#efe6bf;overflow:hidden}
.sonw-hblog-bar span{display:block;width:30%;height:100%;border-radius:2px;background:#171914;transform-origin:left;transition:margin-left .2s,width .2s}
.sonw-hblog .sonw-hc-nav.sonw-hblog-nav button{width:48px;height:48px;border-radius:50%!important}
@media(max-width:1199px){.sonw-hblog-rail>li{flex-basis:calc((100% - 40px)/3.3)}}
@media(max-width:849px){.sonw-hblog{margin-top:40px;padding:40px 0 32px}.sonw-hblog-rail{gap:14px}.sonw-hblog-rail>li{flex-basis:calc((100% - 14px)/1.6)}.sonw-hblog-card strong{font-size:14px}}
@media(max-width:549px){.sonw-hblog-rail{margin-right:-15px;padding-right:15px}.sonw-hblog-rail>li{flex-basis:78%}}
.sonw-hblog .sonw-hc-head{margin:0 0 20px}
/* Product sections: 2 rows of 5 on desktop */
.sonw-hb .products.row,.sonw-hb ul.products{margin-left:-8px!important;margin-right:-8px!important}
@media(min-width:850px){.sonw-hb .products>.product-small.col,.sonw-hb .products>.col{flex-basis:20%!important;max-width:20%!important;padding:0 8px 20px!important}}
/* Homepage contact band */
.sonw-hcontact{padding:56px 0}
.sonw-hcontact-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center;max-width:1570px;margin:0 auto;padding:0 15px;color:#171914}
.sonw-hcontact-media img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:14px}
.sonw-hcontact h2{margin:0 0 12px;color:#171914;font-size:clamp(20px,1.87vw,28px);font-weight:700;letter-spacing:-.02em;line-height:1.2}
.sonw-hcontact p{margin:0 0 22px;color:#3a3b36;font-size:14px;line-height:1.65}
.sonw-hcontact-actions{display:flex;flex-wrap:wrap;gap:10px}
.sonw-hcontact .sonw-hb-all{display:inline-flex;align-items:center;min-height:42px;padding:0 22px;border-radius:8px;background:#171914;color:#fff!important;font-size:13px;font-weight:700;text-decoration:none!important}
.sonw-hcontact .sonw-hb-all:hover{background:#34362f}
.sonw-hcontact-faq{display:inline-flex;align-items:center;min-height:42px;padding:0 22px;border:1.5px solid #171914;border-radius:8px;color:#171914!important;font-size:13px;font-weight:700;text-decoration:none!important}
.sonw-hcontact-faq:hover{background:#171914;color:#fff!important}
@media(max-width:849px){.sonw-hcontact{padding:40px 0}.sonw-hcontact-inner{grid-template-columns:1fr;gap:20px}}
.sonw-hcontact-copy p a{color:#171914!important;font-weight:600;text-decoration:underline;text-decoration-color:#ffda40;text-decoration-thickness:2px;text-underline-offset:3px}
.sonw-hcontact-copy p+p{margin-top:-8px}
/* Image/text blocks alternate on desktop; photo always on top on mobile */
@media(min-width:850px){.sonw-imgtext.is-flip .sonw-hcontact-media{order:2}}
.sonw-imgtext+.sonw-imgtext{padding-top:0}
/* Homepage FAQ (same look as the product-page FAQ) */
.sonw-hfaq{padding:48px 0}
.sonw-hfaq-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.7fr);gap:48px;max-width:1570px;margin:0 auto;padding:44px;border-radius:24px;background:#fff8d9;color:#171914;box-sizing:border-box}
.sonw-hfaq-intro{align-self:start}
@media(min-width:850px){.sonw-hfaq-intro{position:sticky;top:110px}}
.sonw-hfaq h2{margin:0 0 12px;color:#171914;font-size:clamp(20px,1.87vw,28px);font-weight:700;letter-spacing:-.02em;line-height:1.2}
.sonw-hfaq-intro p{margin:0 0 20px;color:#3a3b36;font-size:13px;line-height:1.6}
.sonw-hfaq .sonw-hb-all{display:inline-flex;align-items:center;min-height:42px;padding:0 20px;border-radius:8px;background:#171914;color:#fff!important;font-size:13px;font-weight:700;text-decoration:none!important}
.sonw-hfaq-list{display:flex;flex-direction:column;gap:10px}
.sonw-hfaq-item{border-radius:14px;background:#fff;box-shadow:0 1px 2px rgba(23,25,20,.06)}
.sonw-hfaq-item summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;font-size:14px;font-weight:600;line-height:1.35;list-style:none;cursor:pointer}
.sonw-hfaq-item summary::-webkit-details-marker{display:none}
.sonw-hfaq-item summary span{position:relative;flex:none;width:28px;height:28px;border-radius:50%;background:#ffda40}
.sonw-hfaq-item summary span::before,.sonw-hfaq-item summary span::after{content:"";position:absolute;left:8px;top:13px;width:12px;height:2px;border-radius:1px;background:#171914;transition:transform .2s}
.sonw-hfaq-item summary span::after{transform:rotate(90deg)}
.sonw-hfaq-item[open] summary span::after{transform:rotate(0)}
.sonw-hfaq-item>div{padding:0 20px 18px;color:#3a3b36;font-size:13px;line-height:1.6}
.sonw-hfaq-item p{margin:0 0 8px}
.sonw-hfaq-item>div>:last-child{margin-bottom:0}
.sonw-hfaq a{color:#171914;font-weight:600;text-decoration:underline;text-decoration-color:#ffda40;text-decoration-thickness:2px;text-underline-offset:3px}
@media(max-width:849px){.sonw-hfaq{padding:32px 0}.sonw-hfaq-inner{grid-template-columns:1fr;gap:20px;margin:0 15px;padding:24px 16px;border-radius:18px}.sonw-hfaq-item summary{padding:14px 16px}.sonw-hfaq-item>div{padding:0 16px 16px}}
@media(prefers-reduced-motion:reduce){.sonw-hfaq-item summary span::before,.sonw-hfaq-item summary span::after{transition:none}}
.sonw-imgtext.is-contain .sonw-hcontact-media{width:100%;max-width:520px;justify-self:center}
.sonw-imgtext.is-contain .sonw-hcontact-media img{width:100%;height:auto;object-fit:cover;border-radius:14px;contain-intrinsic-size:none}

/* Homepage hero with the layered wave (from SONW content/home-hero.css) */
#main .sonw-home-hero.banner{height:clamp(420px,39.7vw,640px);padding-top:0}
#main .sonw-home-hero.banner::after{content:"";position:absolute;left:0;right:0;bottom:-1px;z-index:2;height:clamp(30px,4.5vw,72px);background:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 80' preserveAspectRatio='none'><path fill='%23fff' fill-opacity='.35' d='M0 30C360 6 720 50 1080 28S1440 20 1440 20V80H0Z'/><path fill='%23fff' fill-opacity='.6' d='M0 48C300 28 760 66 1100 42S1440 44 1440 44V80H0Z'/><path fill='%23fff' d='M0 62C420 48 900 80 1440 56V80H0Z'/></svg>") bottom/100% 100% no-repeat;pointer-events:none}
#main .sonw-home-hero .banner-layers{z-index:3}
#main .sonw-home-hero .banner-layers{width:100%;max-width:1570px;padding:0}
#main .sonw-home-hero .overlay{background:linear-gradient(90deg,rgba(0,0,0,.24),transparent 65%),linear-gradient(0deg,rgba(0,0,0,.20),transparent 65%)}
#main .sonw-home-hero .text-box{left:15px;top:auto;bottom:12.8%;width:min(620px,85%);transform:none}
#main .sonw-home-hero .text-inner{text-align:left}
#main .sonw-home-hero h1{margin:0 0 8px;color:#fff;font-size:clamp(26px,2.25vw,36px);font-weight:700;line-height:1.15;letter-spacing:-.025em;text-shadow:0 1px 8px #0002}
#main .sonw-home-hero p{margin:0 0 12px;color:#fff;font-size:14px;font-weight:500;line-height:1.4;text-shadow:0 1px 6px #0003}
#main .sonw-home-hero .sonw-home-hero-actions{display:flex;flex-wrap:wrap;gap:12px}
#main .sonw-home-hero .sonw-home-hero-cta{display:inline-flex;align-items:center;justify-content:center;min-width:185px;min-height:58px;margin:0;padding:12px 28px;border:2px solid #fff;border-radius:6px;background:rgba(255,255,255,.16);color:#fff;font-size:17px;font-weight:600;line-height:1.3;letter-spacing:-.02em;text-transform:uppercase;text-shadow:none;box-shadow:0 3px 5px #0003;transition:background-color .18s,color .18s}
#main .sonw-home-hero .sonw-home-hero-cta:hover{background:#fff;color:#171914}
#main .sonw-home-hero .sonw-home-hero-cta:focus-visible{outline:3px solid #ffda40;outline-offset:4px}
@media(max-width:849px){
 #main .sonw-home-hero.banner{height:500px}
 #main .sonw-home-hero .overlay{background:linear-gradient(0deg,rgba(0,0,0,.58),rgba(0,0,0,.12) 55%,transparent 80%)}
 #main .sonw-home-hero .text-box{left:15px;bottom:32px;width:calc(100% - 30px)}
 #main .sonw-home-hero h1{max-width:390px;font-size:26px}
 #main .sonw-home-hero p{font-size:12px;max-width:450px}
 #main .sonw-home-hero .sonw-home-hero-cta{flex:1 1 145px;min-width:0;min-height:52px;padding:10px 12px;font-size:12px}
}
@media(max-width:549px){#main .sonw-home-hero.banner{height:480px}}
@media(prefers-reduced-motion:reduce){#main .sonw-home-hero .sonw-home-hero-cta{transition:none}}
