/* Boardsportwinkel front-end: fonts (custom heading + Poppins body) + vergelijk-styling.
   Solezilla-palet: accent #00aaff · donker #1d242d · licht #f2f2f2 · groen #42b72a. */

@font-face {
	font-family: 'Boardsportwinkel';
	src: url('fonts/boardsportwinkel-semibold.woff2') format('woff2'),
	     url('fonts/boardsportwinkel-semibold.ttf') format('truetype');
	font-weight: 600;
	font-style: normal;
	font-display: swap;
}

:root {
	--bsw-accent: #00aaff;
	--bsw-accent-dark: #0090d8;
	--bsw-dark: #1d242d;
	--bsw-grey: #f2f2f2;
	--bsw-green: #42b72a;
	--bsw-sale: #fe0458;
	--bsw-line: #e6e8ea;
}

/* Typografie: headings = boardsportwinkel-font, rest = Poppins. */
body, p, li, td, th, input, button, select, textarea, .entry-content, .widget {
	font-family: 'Poppins', -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
}
h1, h2, h3, h4, h5, h6, .entry-title, .wp-block-heading {
	font-family: 'Boardsportwinkel', 'Poppins', sans-serif !important;
	font-weight: 600;
	color: var(--bsw-dark);
	text-transform: uppercase;
	letter-spacing: .01em;
}

/* ---- Prijsvergelijk-blok ---- */
.bsw-cmp { margin: 28px 0; font-size: 15px; color: var(--bsw-dark); }
.bsw-cmp h3 { margin: 24px 0 12px; font-size: 19px; }
.bsw-cmp-empty { background: var(--bsw-grey); border-radius: 8px; padding: 18px; }

/* PDP-hero: afbeelding links, koop-kolom rechts */
.bsw-pdp { display: flex; gap: 32px; flex-wrap: wrap; align-items: flex-start; margin: 4px 0 8px; }
.bsw-pdp-media { flex: 1 1 300px; max-width: 440px; }
.bsw-pdp-imgwrap { background: var(--bsw-grey); border-radius: 12px; aspect-ratio: 1/1; display: flex; align-items: center; justify-content: center; padding: 26px; }
.bsw-pdp-img { max-width: 100%; max-height: 100%; object-fit: contain; mix-blend-mode: darken; }
.bsw-pdp-buy { flex: 1 1 380px; min-width: 0; }
.bsw-pdp-brand { font-size: 13px; font-weight: 600; color: var(--bsw-accent); text-transform: uppercase; letter-spacing: .04em; margin-bottom: 4px; }
.bsw-pdp-h { margin-top: 0 !important; }
.bsw-pdp-desc { margin: 20px 0; line-height: 1.6; }
.bsw-cmp-specs { width: 100%; max-width: 640px; }
.bsw-cmp-specs td { word-break: break-word; }
.bsw-cmp-specs td a { color: var(--bsw-accent-dark); }
.bsw-spec-more { color: #8a8f94; font-weight: 400; font-size: 12px; }

/* Aanbod-cards (per webshop) */
.bsw-offers { display: flex; flex-direction: column; gap: 12px; }
.bsw-offer { display: flex; align-items: stretch; background: #fff; border: 1px solid var(--bsw-line); border-radius: 8px; overflow: hidden; transition: box-shadow .15s; }
.bsw-offer:hover { box-shadow: 0 3px 14px rgba(0,0,0,.08); }
.bsw-o-logo { flex: 0 0 108px; display: flex; align-items: center; justify-content: center; padding: 10px 12px; text-align: center; }
.bsw-o-logo img { max-width: 100%; max-height: 44px; width: auto; height: auto; }
.bsw-o-main { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; justify-content: center; gap: 7px; padding: 12px 6px; }
.bsw-o-top { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; font-size: 13px; }
.bsw-o-shop { font-weight: 700; font-size: 14px; color: var(--bsw-dark); }
.bsw-o-meta { color: #6a6f74; }
.bsw-o-sizes { display: flex; flex-wrap: wrap; gap: 4px; align-items: center; }
.bsw-o-sizes .bsw-lbl { font-size: 12px; color: #7a7d7d; margin-right: 2px; }
.bsw-sz { display: inline-block; min-width: 20px; text-align: center; border: 1px solid #d4d8db; border-radius: 4px; padding: 1px 6px; font-size: 11.5px; font-weight: 500; color: #4a4f54; background: #fff; line-height: 1.55; }
.bsw-o-price { display: flex; align-items: center; padding: 0 18px; font-weight: 700; font-size: 18px; white-space: nowrap; }
.bsw-o-go { flex: 0 0 56px; display: flex; align-items: center; justify-content: center; background: var(--bsw-accent); color: #fff; font-size: 32px; text-decoration: none; transition: background .15s; }
.bsw-o-go:hover { background: var(--bsw-accent-dark); color: #fff; }
@media (max-width: 600px) {
	.bsw-o-price { padding: 0 10px; font-size: 16px; }
	.bsw-o-logo { flex-basis: 80px; }
	.bsw-o-go { flex-basis: 46px; font-size: 26px; }
}

/* Specs */
.bsw-cmp-specs { border-collapse: collapse; margin: 8px 0 4px; }
.bsw-cmp-specs th { text-align: left; color: #7a7d7d; font-weight: 500; padding: 6px 20px 6px 0; width: 120px; }
.bsw-cmp-specs td { padding: 6px 0; font-weight: 600; }

/* ---- Product-card (Vechtsportwinkel/Kampfsportstore-stijl) ---- */
.bsw-cmp-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 18px; }
.bsw-pc {
	display: flex; flex-direction: column; text-decoration: none; color: var(--bsw-dark);
	background: #fff; border: 1px solid var(--bsw-line); border-radius: 10px; overflow: hidden;
	transition: box-shadow .18s, transform .18s;
}
.bsw-pc:hover { box-shadow: 0 8px 24px rgba(0,0,0,.12); transform: translateY(-3px); }
.bsw-pc-img { position: relative; aspect-ratio: 1/1; background: var(--bsw-grey); display: flex; align-items: center; justify-content: center; }
.bsw-pc-img img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; mix-blend-mode: darken; }
.bsw-pc-badge {
	position: absolute; top: 10px; left: 10px; z-index: 2;
	background: var(--bsw-sale); color: #fff; font-size: 12px; font-weight: 700;
	padding: 3px 8px; border-radius: 4px; line-height: 1.2;
}
.bsw-pc-body { display: flex; flex-direction: column; gap: 2px; padding: 12px 12px 8px; text-align: center; flex: 1; }
.bsw-pc-brand { font-size: 12px; font-weight: 600; color: var(--bsw-accent); }
.bsw-pc-title { font-size: 14px; font-weight: 700; line-height: 1.3; color: var(--bsw-accent-dark); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 2.6em; }
.bsw-pc-foot { display: flex; justify-content: space-between; align-items: flex-end; gap: 8px; border-top: 1px solid var(--bsw-line); margin: 0 12px; padding: 9px 0 12px; }
.bsw-pc-col { display: flex; flex-direction: column; gap: 1px; }
.bsw-pc-col-r { text-align: right; }
.bsw-pc-k { font-size: 11px; color: #8a8f94; }
.bsw-pc-v { font-size: 14px; font-weight: 700; color: var(--bsw-dark); }

/* Archief-/categoriepagina's */
.bsw-archive-grid { margin-top: 16px; }
.bsw-archive-desc { margin: 8px 0 16px; color: #555; }
.bsw-archive-nav { margin: 26px 0; }

/* Single-shop-pagina */
.bsw-shop-head { display: flex; gap: 24px; align-items: center; flex-wrap: wrap; background: var(--bsw-grey); border-radius: 12px; padding: 20px 24px; margin-bottom: 10px; }
.bsw-shop-head-logo img { max-height: 64px; width: auto; mix-blend-mode: darken; }
.bsw-shop-head-meta p { margin: .25em 0; }

/* Webshops-overzicht */
.bsw-shops-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 18px; }
.bsw-shopcard { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 8px; text-decoration: none; color: var(--bsw-dark); background: #fff; border: 1px solid var(--bsw-line); border-radius: 10px; padding: 18px 14px; transition: box-shadow .15s, transform .15s; }
.bsw-shopcard:hover { box-shadow: 0 6px 18px rgba(0,0,0,.1); transform: translateY(-2px); }
.bsw-shopcard-img { height: 60px; display: flex; align-items: center; justify-content: center; }
.bsw-shopcard-img img { max-height: 56px; max-width: 100%; width: auto; mix-blend-mode: darken; }
.bsw-shopcard-name { font-weight: 600; }
.bsw-shopcard-count { font-size: 12px; color: #8a8f94; }
