/* Baby Gift Registry v2.5 — financiële bijdragen */
.bgr-contribution{margin-top:28px;padding:24px;border:1px solid #e7e1d9;border-radius:20px;background:#faf8f5}
.bgr-contribution h2{margin:0 0 18px;font-size:22px}
.bgr-contribution__progress-head{display:flex;justify-content:space-between;gap:16px;margin-bottom:10px;font-size:14px}
.bgr-contribution__form{display:grid;gap:16px;margin-top:22px}
.bgr-contribution__form label{display:grid;gap:7px;font-size:14px;font-weight:700}
.bgr-contribution__form label span,.bgr-contribution__form small{font-weight:400;opacity:.68}
.bgr-contribution__form input,.bgr-contribution__form textarea{width:100%;padding:13px 14px;border:1px solid #d8d2ca;border-radius:12px;background:#fff;font:inherit}
.bgr-contribution__names{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.bgr-contribution__suggestions{display:flex;flex-wrap:wrap;gap:9px}
.bgr-contribution__suggestions button{padding:10px 14px;border:1px solid #282421;border-radius:999px;background:#fff;color:#282421;font:inherit;font-weight:700;cursor:pointer}
.bgr-contribution__suggestions button:hover{background:#282421;color:#fff}
.bgr-contribution .bgr-notice{margin:18px 0 0}
@media(max-width:640px){.bgr-contribution{padding:20px}.bgr-contribution__names{grid-template-columns:1fr}.bgr-contribution__progress-head{flex-direction:column;gap:3px}}
.bgr-payment-card{margin:28px 0;padding:24px;border:1px solid #e5ded4;border-radius:16px;background:#fff}.bgr-payment-card h2{text-align:center;margin-top:0}.bgr-payment-qr{display:flex;justify-content:center;align-items:center;min-height:260px;margin:22px auto}.bgr-payment-qr img,.bgr-payment-qr canvas{max-width:260px;height:auto!important}.bgr-payment-card__hint{text-align:center;color:#5f5a55}.bgr-payment-card code{font-size:14px;word-break:break-all}.bgr-payment-card .bgr-success__details{margin-top:20px}

.bgr-contribution__remaining{margin:10px 0 0;font-size:13px;line-height:1.5}.bgr-contribution__remaining span{display:block;font-weight:400;opacity:.7}.bgr-contribution__form label small{font-size:12px;line-height:1.45}

/* ==========================================================
   Luxury frontend refresh — v2.6.0
   Typography: Inter + DM Serif Display
========================================================== */
:root {
	--bgr-bg: #aebaa6;
	--bgr-surface: #ffffff;
	--bgr-surface-soft: #f8f5ef;
	--bgr-ink: #24211f;
	--bgr-muted: #746d66;
	--bgr-line: #e7e0d6;
	--bgr-accent: #a88955;
	--bgr-accent-dark: #82683f;
	--bgr-success: #4f745c;
	--bgr-danger: #9a514b;
	--bgr-radius-lg: 30px;
	--bgr-radius-md: 18px;
	--bgr-shadow: 0 22px 70px rgba(52, 44, 35, .10);
	--bgr-shadow-hover: 0 28px 80px rgba(52, 44, 35, .15);
}

body {
	background-color: var(--bgr-bg) !important;
}

.bgr-registry,
.bgr-single,
.bgr-single-gift,
.bgr-reservation,
.bgr-success,
.bgr-my-reservations,
.bgr-payment-card,
.bgr-gallery-dialog {
	font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	color: var(--bgr-ink);
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

.bgr-registry h1,
.bgr-registry h2,
.bgr-registry h3,
.bgr-single h1,
.bgr-single h2,
.bgr-single h3,
.bgr-single-gift h1,
.bgr-single-gift h2,
.bgr-single-gift h3,
.bgr-reservation h1,
.bgr-reservation h2,
.bgr-success h1,
.bgr-success h2 {
	font-family: "DM Serif Display", Georgia, serif;
	font-weight: 400;
	letter-spacing: -.025em;
}

/* Product detail layout */
.bgr-single-gift {
	width: min(1480px, calc(100% - 48px));
	padding: 58px 0 110px;
}

.bgr-single-gift__layout {
	grid-template-columns: minmax(0, 1.45fr) minmax(390px, .75fr);
	gap: clamp(48px, 6vw, 96px);
}

.bgr-single-gift__media,
.bgr-single-gift__content {
	border: 1px solid rgba(255, 255, 255, .62);
	border-radius: var(--bgr-radius-lg);
	background: rgba(255, 255, 255, .97);
	box-shadow: var(--bgr-shadow);
}

.bgr-single-gift__media {
	padding: 34px;
}

.bgr-single-gift__content {
	padding: 38px;
}

.bgr-single-gift__main-image,
.bgr-single-gift__gallery-item,
.bgr-single-gift__placeholder {
	border: 0 !important;
	outline: 0 !important;
	border-radius: 22px;
	background: #f7f4ee;
}

.bgr-single-gift__main-image {
	box-shadow: inset 0 0 0 1px rgba(40, 36, 33, .055);
}

.bgr-single-gift__gallery-item {
	box-shadow: inset 0 0 0 1px rgba(40, 36, 33, .07);
	transition: transform .22s ease, box-shadow .22s ease;
}

.bgr-single-gift__gallery-item:hover,
.bgr-single-gift__gallery-item:focus-visible {
	transform: translateY(-3px);
	box-shadow: inset 0 0 0 1px var(--bgr-accent), 0 12px 25px rgba(52, 44, 35, .10);
}

.bgr-single-gift__zoom {
	padding: 9px 15px;
	border: 1px solid rgba(40, 36, 33, .08);
	background: rgba(255, 255, 255, .94);
	box-shadow: 0 8px 20px rgba(35, 30, 26, .10);
}

.bgr-single-gift__eyebrow {
	color: var(--bgr-accent-dark);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .14em;
}

.bgr-single-gift__title {
	margin-bottom: 16px;
	color: var(--bgr-ink);
	font-size: clamp(44px, 4.2vw, 66px);
	line-height: .99;
}

.bgr-single-gift__price {
	font-size: 27px;
	font-weight: 750;
	letter-spacing: -.02em;
}

.bgr-single-gift__availability,
.bgr-contribution {
	border-color: var(--bgr-line);
	border-radius: var(--bgr-radius-md);
	background: var(--bgr-surface-soft);
}

.bgr-single-gift__availability {
	padding: 20px;
}

.bgr-single-gift__availability-heading {
	color: var(--bgr-success);
}

.bgr-single-gift__progress,
.bgr-contribution__progress,
.bgr-reservation__progress {
	background: #e5dfd5;
}

.bgr-single-gift__progress span,
.bgr-contribution__progress span,
.bgr-reservation__progress span {
	background: var(--bgr-accent-dark);
}

/* Buttons */
.bgr-button,
.bgr-card__button,
.bgr-single-gift .bgr-button,
.bgr-single-gift__shop-button--official,
.bgr-contribution button[type="submit"] {
	border: 1px solid var(--bgr-ink) !important;
	border-radius: 999px;
	background: var(--bgr-ink) !important;
	color: #fff !important;
	box-shadow: none;
	transition: transform .18s ease, background .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.bgr-button:hover,
.bgr-button:focus-visible,
.bgr-card__button:hover,
.bgr-card__button:focus-visible,
.bgr-single-gift .bgr-button:hover,
.bgr-single-gift .bgr-button:focus-visible,
.bgr-single-gift__shop-button--official:hover,
.bgr-contribution button[type="submit"]:hover,
.bgr-contribution button[type="submit"]:focus-visible {
	border-color: var(--bgr-accent-dark) !important;
	background: var(--bgr-accent-dark) !important;
	color: #fff !important;
	transform: translateY(-2px);
	box-shadow: 0 12px 28px rgba(130, 104, 63, .22);
}

.bgr-single-gift__actions .bgr-button,
.bgr-contribution button[type="submit"] {
	min-height: 52px;
	font-weight: 650;
	letter-spacing: .01em;
}

/* Amount pills */
.bgr-contribution__suggestions {
	gap: 10px;
}

.bgr-contribution__suggestions button {
	min-height: 44px;
	padding: 10px 18px;
	border: 1px solid #cfc5b8;
	background: #fff;
	color: var(--bgr-ink);
	font-weight: 650;
	transition: all .18s ease;
}

.bgr-contribution__suggestions button:hover,
.bgr-contribution__suggestions button:focus-visible {
	border-color: var(--bgr-accent-dark);
	background: var(--bgr-accent-dark);
	color: #fff;
	transform: translateY(-1px);
}

/* Forms */
.bgr-contribution__form input,
.bgr-contribution__form textarea,
.bgr-form-field input,
.bgr-form-field textarea,
.bgr-form-field select,
.bgr-inline-form input {
	border: 1px solid #d8d0c5 !important;
	border-radius: 14px;
	background: rgba(255, 255, 255, .98);
	color: var(--bgr-ink);
	box-shadow: inset 0 1px 1px rgba(40, 36, 33, .025);
	transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.bgr-contribution__form input:hover,
.bgr-contribution__form textarea:hover,
.bgr-form-field input:hover,
.bgr-form-field textarea:hover,
.bgr-form-field select:hover {
	border-color: #b9ad9e !important;
}

.bgr-contribution__form input:focus,
.bgr-contribution__form textarea:focus,
.bgr-form-field input:focus,
.bgr-form-field textarea:focus,
.bgr-form-field select:focus,
.bgr-inline-form input:focus {
	outline: none !important;
	border-color: var(--bgr-accent) !important;
	background: #fff;
	box-shadow: 0 0 0 4px rgba(168, 137, 85, .14) !important;
}

.bgr-contribution {
	margin-top: 30px;
	padding: 27px;
}

.bgr-contribution h2 {
	font-size: 27px;
	line-height: 1.15;
}

.bgr-contribution__progress-head {
	color: var(--bgr-muted);
}

.bgr-contribution__progress-head strong {
	color: var(--bgr-ink);
}

.bgr-contribution__remaining {
	color: var(--bgr-muted);
}

/* Shops and content separators */
.bgr-single-gift__shops,
.bgr-single-gift__why,
.bgr-single-gift__description {
	border-top-color: var(--bgr-line);
}

.bgr-single-gift__shop-button {
	border-color: var(--bgr-line);
	border-radius: 14px;
	background: #fff;
}

.bgr-single-gift__shop-button:not(.bgr-single-gift__shop-button--official):hover {
	border-color: var(--bgr-accent);
	background: var(--bgr-surface-soft);
}

.bgr-single-gift__description,
.bgr-single-gift__why,
.bgr-single-gift__intro,
.bgr-card__teaser,
.bgr-single-gift__action-note {
	color: var(--bgr-muted);
}

/* Registry cards */
.bgr-card {
	border-color: rgba(255, 255, 255, .7);
	border-radius: 26px;
	box-shadow: 0 18px 55px rgba(52, 44, 35, .09);
}

.bgr-card:hover {
	box-shadow: var(--bgr-shadow-hover);
}

.bgr-card__content {
	padding: 26px;
}

.bgr-card__title {
	font-family: "DM Serif Display", Georgia, serif;
	font-size: 25px;
	font-weight: 400;
}

/* Reservation and success screens */
.bgr-reservation__product,
.bgr-reservation__form-section,
.bgr-success__card,
.bgr-payment-card,
.bgr-reservation-card,
.bgr-my-reservations__empty {
	border-color: rgba(255, 255, 255, .65);
	border-radius: 26px;
	box-shadow: var(--bgr-shadow);
}

/* Remove Hello/Elementor pink button and focus leakage */
.bgr-registry button,
.bgr-single-gift button,
.bgr-reservation button,
.bgr-success button,
.bgr-my-reservations button {
	color: inherit;
}

.bgr-registry button:focus,
.bgr-registry button:hover,
.bgr-single-gift button:focus,
.bgr-single-gift button:hover,
.bgr-reservation button:focus,
.bgr-reservation button:hover,
.bgr-success button:focus,
.bgr-success button:hover,
.bgr-my-reservations button:focus,
.bgr-my-reservations button:hover {
	outline: none;
}

@media (max-width: 1100px) {
	.bgr-single-gift__layout {
		grid-template-columns: minmax(0, 1.2fr) minmax(360px, .8fr);
		gap: 44px;
	}
}

@media (max-width: 900px) {
	.bgr-single-gift {
		width: min(100% - 32px, 1480px);
	}

	.bgr-single-gift__layout {
		grid-template-columns: 1fr;
	}

	.bgr-single-gift__content {
		position: static;
	}
}

@media (max-width: 640px) {
	.bgr-single-gift__media {
		padding: 14px;
		border-radius: 22px;
	}

	.bgr-single-gift__content {
		padding: 24px;
		border-radius: 22px;
	}

	.bgr-single-gift__title {
		font-size: 43px;
	}

	.bgr-contribution {
		padding: 21px;
	}
}

/* ==========================================================
   v3.5.0-alpha3 — final overrides (loaded after frontend.css)
========================================================== */
.bgr-registry,
.bgr-single-gift,
.bgr-single-gift input,
.bgr-single-gift textarea,
.bgr-single-gift select,
.bgr-single-gift button {
	font-family: var(--bgr-body-font, inherit);
}
.bgr-registry h1,
.bgr-registry h2,
.bgr-registry h3,
.bgr-single-gift h1,
.bgr-single-gift h2,
.bgr-single-gift h3,
.bgr-card__title {
	font-family: inherit;
	font-weight: 650;
	letter-spacing: -.02em;
}
.bgr-single-gift {
	width: min(var(--bgr-content-width, 1240px), calc(100% - 40px));
	padding: 38px 0 80px;
}
.bgr-single-gift__layout {
	grid-template-columns: minmax(0, 1.55fr) minmax(360px, .75fr);
	gap: clamp(28px, 3.5vw, 48px);
}
.bgr-single-gift__media { padding: clamp(18px, 2.4vw, 28px); }
.bgr-single-gift__content { padding: clamp(24px, 2.5vw, 30px); }
.bgr-single-gift__title {
	max-width: none;
	margin-bottom: 16px;
	font-size: clamp(32px, 3vw, 44px);
	line-height: 1.08;
}
.bgr-single-gift__details h2,
.bgr-contribution h2 { font-size: clamp(21px, 2vw, 26px); }
.bgr-single-gift__actions { gap: 10px; margin-bottom: 10px; }
.bgr-single-gift__action-note { margin: 0; }
.bgr-single-gift .bgr-contribution-toggle {
	width: 100%;
	min-height: 48px;
	margin-top: 10px;
	border: 1px solid rgba(40,36,33,.24) !important;
	background: transparent !important;
	color: var(--bgr-ink, inherit) !important;
	box-shadow: none !important;
}
.bgr-single-gift .bgr-contribution-toggle:hover,
.bgr-single-gift .bgr-contribution-toggle:focus-visible {
	border-color: currentColor !important;
	background: rgba(40,36,33,.04) !important;
	color: var(--bgr-ink, inherit) !important;
	transform: none;
}
.bgr-contribution-toggle::after { content:"+"; margin-left:8px; font-size:18px; line-height:1; }
.bgr-contribution-toggle[aria-expanded="true"]::after { content:"−"; }
.bgr-contribution-panel[hidden] { display:none !important; }
.bgr-contribution-panel {
	margin-top: 14px;
	padding-top: 14px;
	border-top: 1px solid rgba(40,36,33,.10);
}
.bgr-contribution-panel .bgr-contribution { margin:0; padding:22px; }

@media(max-width:900px){
	.bgr-single-gift__layout { grid-template-columns:1fr; }
}
@media(max-width:640px){
	.bgr-registry {
		width:100%;
		max-width:none;
		padding-right:10px;
		padding-left:10px;
	}
	.bgr-registry__header { margin-bottom:20px; }
	.bgr-registry__title { font-size:clamp(25px,8vw,34px); }
	.bgr-registry-tools { margin-bottom:16px; }
	.bgr-grid {
		grid-template-columns:repeat(2,minmax(0,1fr));
		gap:10px;
	}
	.bgr-card { border-radius:14px; }
	.bgr-card:hover { transform:none; }
	.bgr-card__image-wrapper { aspect-ratio:1/1; }
	.bgr-card__content { padding:11px; }
	.bgr-card__badge {
		top:8px; left:8px; min-height:24px; padding:4px 7px; font-size:9px;
	}
	.bgr-card__title { margin-bottom:6px; font-size:14px; line-height:1.22; }
	.bgr-card__teaser {
		display:-webkit-box;
		overflow:hidden;
		margin-bottom:10px;
		font-size:11px;
		line-height:1.4;
		-webkit-box-orient:vertical;
		-webkit-line-clamp:2;
	}
	.bgr-card__footer { gap:7px; margin-bottom:10px; }
	.bgr-card__price { font-size:14px; }
	.bgr-card__status-badge { min-height:24px; padding:4px 7px; font-size:9px; }
	.bgr-card__status-dot { width:5px; height:5px; flex-basis:5px; }
	.bgr-card__button { min-height:36px; padding:8px 6px; border-radius:10px; font-size:11px; }
	.bgr-card__contribution-meta { font-size:9px; }
	.bgr-card__contribution-meta strong { font-size:10px; }

	.bgr-single-gift { width:calc(100% - 20px); padding-top:20px; }
	.bgr-single-gift__layout { gap:14px; }
	.bgr-single-gift__mobile-title { font-size:clamp(27px,8vw,33px); line-height:1.08; }
	.bgr-single-gift__media { padding:10px; }
	.bgr-single-gift__content,
	.bgr-single-gift__details { padding:18px; }
	.bgr-single-gift__content { border-radius:18px; }
	.bgr-single-gift__details h2,
	.bgr-contribution h2 { font-size:20px; }
	.bgr-contribution-panel .bgr-contribution { padding:17px; }
}
