/* WD Wishlist — matches De Breiboerderij (Bricks) styling. */
:root {
	--wdwl-ink: #495c62;
	--wdwl-text: #363636;
	--wdwl-border: rgba(73, 92, 98, 0.12);
	--wdwl-green: #42be7a;
	--wdwl-heart: #b82339;
	--wdwl-cream: #f7f2e8;
	--wdwl-radius: 12px;
}

/* ---------- heart button (shared) ---------- */
.wdwl-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	padding: 0;
	margin: 0;
	border: 2px solid var(--wdwl-border);
	border-radius: var(--wdwl-radius);
	background: #fff;
	color: var(--wdwl-ink);
	font: inherit;
	line-height: 1;
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
	touch-action: manipulation;
	transition: border-color .2s, color .2s, transform .15s, box-shadow .2s;
}
.wdwl-btn:hover { border-color: rgba(73, 92, 98, 0.3); }
.wdwl-btn:focus-visible { outline: 2px solid var(--wdwl-green); outline-offset: 2px; }
.wdwl-btn .wdwl-heart {
	display: block;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.9;
	stroke-linejoin: round;
	transition: fill .2s, stroke .2s;
}
.wdwl-btn.is-active { color: var(--wdwl-heart); }
.wdwl-btn.is-active .wdwl-heart { fill: currentColor; animation: wdwl-pop .35s ease; }
@keyframes wdwl-pop { 0% { transform: scale(1); } 40% { transform: scale(1.28); } 100% { transform: scale(1); } }

/* Product page: square heart on the same row as "Toevoegen aan winkelwagen". */
.wdwl-atc-row { display: flex; align-items: stretch; gap: 8px; max-width: 100%; }
.wdwl-atc-row > .single_add_to_cart_button { margin: 0 !important; flex: 0 1 auto; }
.wdwl-atc-row > .wdwl-btn--single { flex: 0 0 auto; }
.wdwl-btn--single {
	min-height: 42px;
	padding: 0 14px;
	vertical-align: middle;
	font-size: 14px;
	font-weight: 600;
}
.wdwl-btn--single .wdwl-heart { width: 20px; height: 20px; }
.wdwl-atc-row .wdwl-btn--single { width: 44px; padding: 0; }
.wdwl-atc-row .wdwl-btn__label {
	position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap;
}
/* Wrapper's top margin matches the theme's 10px above the cart button. */
.variations_button > .wdwl-atc-row, form.cart > .wdwl-atc-row { margin-top: 10px; }
.wdwl-single-wrap { margin: 12px 0; }

/* Product cards: heart on the image. */
.wdwl-host { position: relative; }
.wdwl-btn--loop {
	position: absolute;
	top: 10px;
	right: 10px;
	z-index: 3;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	border-color: transparent;
	background: rgba(255, 255, 255, 0.92);
	box-shadow: 0 2px 8px rgba(73, 92, 98, 0.14);
}
.wdwl-btn--loop:hover { transform: scale(1.06); border-color: transparent; }
.wdwl-btn--loop .wdwl-heart { width: 19px; height: 19px; }
@media (max-width: 478px) {
	.wdwl-btn--loop { top: 6px; right: 6px; width: 32px; height: 32px; }
	.wdwl-btn--loop .wdwl-heart { width: 16px; height: 16px; }
}

/* Header counter: same badge as the cart. */
.wdwl-header-link { position: relative; display: inline-flex; }
.wdwl-count {
	position: absolute;
	top: -5px;
	right: -5px;
	min-width: 18px;
	height: 18px;
	padding: 0 4px;
	border-radius: 18px;
	background: var(--wdwl-green);
	color: #fff;
	font-size: 12px;
	font-weight: 600;
	line-height: 18px;
	text-align: center;
	pointer-events: none;
	box-sizing: border-box;
}

/* ---------- toast ---------- */
.wdwl-toast {
	position: fixed;
	left: 50%;
	bottom: 24px;
	z-index: 99999;
	display: flex;
	align-items: center;
	gap: 10px;
	max-width: calc(100vw - 32px);
	padding: 12px 16px;
	border: 2px solid var(--wdwl-border);
	border-radius: var(--wdwl-radius);
	background: #fff;
	color: var(--wdwl-text);
	font-size: 14px;
	font-weight: 500;
	box-shadow: 0 10px 30px rgba(73, 92, 98, 0.18);
	opacity: 0;
	pointer-events: none;
	transform: translate(-50%, 16px);
	transition: opacity .25s, transform .25s;
}
.wdwl-toast.is-visible { opacity: 1; pointer-events: auto; transform: translate(-50%, 0); }
.wdwl-toast .wdwl-heart { flex: 0 0 auto; fill: var(--wdwl-heart); }
.wdwl-toast.is-error .wdwl-heart { fill: none; stroke: var(--wdwl-ink); stroke-width: 1.9; }
.wdwl-toast a { color: var(--wdwl-green); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; white-space: nowrap; }

/* ---------- wishlist page ---------- */
.wdwl-page { width: 100%; }
.wdwl-page__title { margin: 0 0 6px; }
.wdwl-summary { margin: 0 0 24px; color: var(--wdwl-ink); }
.wdwl-page__body.is-loading { opacity: .6; }

.wdwl-loading { display: flex; gap: 6px; justify-content: center; padding: 60px 0; }
.wdwl-loading span { width: 9px; height: 9px; border-radius: 50%; background: var(--wdwl-green); animation: wdwl-dot 1s infinite ease-in-out; }
.wdwl-loading span:nth-child(2) { animation-delay: .15s; }
.wdwl-loading span:nth-child(3) { animation-delay: .3s; }
@keyframes wdwl-dot { 0%, 80%, 100% { opacity: .25; transform: scale(.8); } 40% { opacity: 1; transform: scale(1); } }

.wdwl-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 20px;
}
@media (max-width: 991px) { .wdwl-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 767px) { .wdwl-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; } }

/* Same look as the shop's .product-card. */
.wdwl-item {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 20px;
	border: 1px solid #d7bda7;
	border-radius: 22px;
	background: #fff;
	color: var(--wdwl-text);
	transition: opacity .25s, transform .25s;
}
.wdwl-item.is-removing { opacity: 0; transform: scale(.96); }
.wdwl-item__img { display: block; border-radius: 20px; overflow: hidden; }
.wdwl-item__img img { display: block; width: 100%; height: 200px; border-radius: 20px; object-fit: contain; }
.wdwl-item__body { display: flex; flex: 1; flex-direction: column; gap: 4px; }
.wdwl-item__title { margin: 15px 0 0; font-size: 18px; font-weight: 400; line-height: 1.1; }
.wdwl-item__title a { color: var(--wdwl-text); text-decoration: none; }
.wdwl-item__title a:hover { color: var(--wdwl-green); }
.wdwl-item__price { margin-top: 8px; font-weight: 500; }
.wdwl-item__price .amount { color: var(--wdwl-green); }
.wdwl-item__price del, .wdwl-item__price del .amount { color: var(--wdwl-green); }
.wdwl-item__price ins { text-decoration: none; }
.wdwl-item__stock .stock { margin: 0; font-size: 13px; }
.wdwl-item__atc.bricks-button {
	display: flex;
	margin-top: auto;
	justify-content: center;
	width: 100%;
	padding: 12px 21.6px;
	border-radius: 8px;
	background-color: var(--wdwl-green);
	color: #f7f2e8;
	font-weight: 700;
	font-size: 13.5px;
	line-height: 1.7;
	text-align: center;
}
.wdwl-item__stock { min-height: 4px; margin-bottom: 8px; }
.wdwl-item__atc.loading { opacity: .7; }
.wdwl-item .added_to_cart { display: block; margin-top: 6px; font-size: 13px; text-align: center; color: var(--wdwl-green); font-weight: 600; }

.wdwl-remove {
	position: absolute;
	top: 28px;
	right: 28px;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.92);
	color: var(--wdwl-ink);
	box-shadow: 0 2px 8px rgba(73, 92, 98, 0.14);
	cursor: pointer;
	transition: color .2s, transform .15s;
}
.wdwl-remove:hover { color: var(--wdwl-heart); transform: scale(1.06); }

@media (max-width: 767px) {
	.wdwl-item { padding: 12px; border-radius: 16px; }
	.wdwl-item__img img { height: 150px; }
	.wdwl-item__title { font-size: 15px; margin-top: 8px; }
	.wdwl-item__atc.bricks-button { padding: 9px 8px; font-size: 13px; }
	.wdwl-remove { top: 18px; right: 18px; width: 28px; height: 28px; }
}

.wdwl-empty {
	max-width: 480px;
	margin: 20px auto;
	padding: 40px 24px;
	border-radius: var(--wdwl-radius);
	background: var(--wdwl-cream);
	text-align: center;
}
.wdwl-empty__icon { display: inline-flex; padding: 14px; margin-bottom: 8px; border-radius: 50%; background: #fff; color: var(--wdwl-heart); }
.wdwl-empty__icon .wdwl-heart { width: 30px; height: 30px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.wdwl-empty__title { margin: 0 0 6px; font-size: 22px; }
.wdwl-empty p { margin: 0 0 20px; color: var(--wdwl-ink); }
.wdwl-cta.bricks-button { padding: 10px 24px; border-radius: var(--wdwl-radius); font-weight: 700; }

@media (prefers-reduced-motion: reduce) {
	.wdwl-btn, .wdwl-toast, .wdwl-item { transition: none; }
	.wdwl-btn.is-active .wdwl-heart { animation: none; }
}
