/* Studio Linnen — winkel /winkel/, productcategorieën en productpagina's (bouwt voort op gidsen.css) */

/* Afstanden van het parent-thema neutraliseren, net als op de gidsenpagina's */
.woocommerce-shop .wp-site-blocks, .tax-product_cat .wp-site-blocks, .single-product .wp-site-blocks { padding: 0; }
.woocommerce-shop .wp-site-blocks > * + *,
.tax-product_cat .wp-site-blocks > * + *,
.single-product .wp-site-blocks > * + * { margin-block: 0; }
:where(.sl-winkel) :where(h1, h2, h3, p, figure) { margin: 0; }

.sl-winkel .sl-badge { display: inline-flex; align-items: center; height: 26px; padding: 0 12px; border-radius: 999px; background: var(--surface-card); color: var(--text-body); font: 500 11px/1 var(--font-body); letter-spacing: .12em; text-transform: uppercase; }

/* Overzicht */
.sl-winkel__intro { padding-block: 72px 24px; text-align: center; }
.sl-winkel__lijst { padding-block: 24px 96px; }
.sl-winkel__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 48px 32px; }
.sl-winkel__leeg { text-align: center; color: var(--text-muted); }

.sl-wkaart { min-width: 0; }
.sl-wkaart__link { display: flex; flex-direction: column; gap: 12px; color: var(--text-body); text-decoration: none; }
.sl-wkaart__beeld { position: relative; aspect-ratio: 4 / 5; border-radius: var(--radius-md); overflow: hidden; background-color: var(--linen-200); background-image: var(--linen-texture); }
.sl-wkaart__beeld .sl-badge { position: absolute; top: 12px; left: 12px; z-index: 1; }
.sl-wkaart__beeld img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s var(--ease-soft); }
.sl-wkaart__link:hover img { transform: scale(1.03); }
.sl-wkaart__titel { font: 400 24px/1.2 var(--font-display); margin-top: 4px !important; transition: color .16s var(--ease-soft); }
.sl-wkaart__tekst p { font-size: 15px; line-height: 1.6; color: var(--text-muted); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.sl-wkaart__link:hover .sl-wkaart__titel { color: var(--accent); }
.sl-wkaart__link:hover .sl-gids__verder .sl-icon { transform: translateX(3px); }
.sl-wkaart__link:focus-visible { outline: 2px solid var(--honey-400); outline-offset: 6px; border-radius: var(--radius-md); }

/* Productpagina */
.sl-product-pad { display: flex; gap: 10px; padding-block: 28px 0; font-size: 13px; letter-spacing: .08em; text-transform: uppercase; color: var(--text-subtle); }
.sl-product-pad a { color: var(--text-muted); text-decoration: none; }
.sl-product-pad a:hover { color: var(--accent); }

.sl-productpagina { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 64px; align-items: start; padding-block: 28px 104px; }
.sl-productpagina__beelden { display: grid; gap: 16px; }
.sl-productpagina__beeld { border-radius: var(--radius-lg); overflow: hidden; background-color: var(--linen-200); background-image: var(--linen-texture); }
.sl-productpagina__beeld:first-child { border-radius: 50% 50% var(--radius-lg) var(--radius-lg) / 22% 22% var(--radius-lg) var(--radius-lg); }
.sl-productpagina__beeld img { width: 100%; height: auto; display: block; }

.sl-productpagina__info { position: sticky; top: 150px; display: flex; flex-direction: column; gap: 18px; }
.sl-productpagina__titel { font: 300 clamp(36px, 4.4vw, 52px)/1.08 var(--font-display); text-wrap: balance; }
.sl-productpagina__status .sl-badge { background: var(--surface-tint); color: var(--accent); }
.sl-productpagina__kort p { font-size: 18px; line-height: 1.65; color: var(--text-muted); }
.sl-productpagina__info > .sl-stitch { width: 100%; margin-block: 8px; }
.sl-productpagina__omschrijving { font-size: 16px; line-height: 1.7; }
.sl-productpagina__omschrijving > * + * { margin-top: 14px !important; }
.sl-productpagina__omschrijving h2 { font: 400 24px/1.25 var(--font-display); margin-top: 28px !important; }
.sl-productpagina__omschrijving ul { margin: 0; padding-left: 0; list-style: none; }
.sl-productpagina__omschrijving li { position: relative; padding-left: 26px; }
.sl-productpagina__omschrijving li + li { margin-top: 6px; }
.sl-productpagina__omschrijving li::before { content: ""; position: absolute; left: 2px; top: .7em; width: 12px; border-top: 1.5px dashed var(--stitch); }
.sl-productpagina__info > .sl-btn { align-self: flex-start; margin-top: 12px; }
.sl-productpagina__omschrijving h3 { font: 500 17px/1.4 var(--font-body); margin-top: 22px !important; }
.sl-productpagina__omschrijving h3 + p { margin-top: 6px !important; }
.sl-productpagina__omschrijving a, .sl-winkel__beschrijving a { color: var(--accent); text-underline-offset: 3px; }

/* Categoriebeschrijving onder de titel */
.sl-winkel__beschrijving p + p { margin-top: 12px !important; }

/* Tablet en mobiel */
@media (max-width: 1000px) {
	.sl-winkel__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.sl-productpagina { grid-template-columns: 1fr; gap: 40px; }
	.sl-productpagina__info { position: static; }
}
@media (max-width: 640px) {
	.sl-winkel__intro { padding-block: 48px 16px; }
	.sl-winkel__grid { grid-template-columns: 1fr; gap: 40px; }
	.sl-winkel__lijst, .sl-productpagina { padding-bottom: 72px; }
}
