.bgr-registry {
	width: 100%;
	max-width: 1400px;
	margin: 0 auto;
}

.bgr-registry *,
.bgr-registry *::before,
.bgr-registry *::after {
	box-sizing: border-box;
}

.bgr-registry__header {
	margin-bottom: 32px;
	text-align: center;
}

.bgr-registry__title {
	margin: 0;
	font-size: clamp(30px, 5vw, 52px);
	line-height: 1.1;
}

.bgr-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 28px;
}

.bgr-card {
	display: flex;
	flex-direction: column;
	min-width: 0;
	overflow: hidden;
	background: #ffffff;
	border: 1px solid rgba(25, 25, 25, 0.08);
	border-radius: 22px;
	box-shadow: 0 12px 40px rgba(25, 25, 25, 0.07);
	transition:
		transform 180ms ease,
		box-shadow 180ms ease;
}

.bgr-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 18px 55px rgba(25, 25, 25, 0.11);
}

.bgr-card--featured {
	border-width: 2px;
}

.bgr-card__image-link {
	display: block;
	text-decoration: none;
}

.bgr-card__image-wrapper {
	position: relative;
	overflow: hidden;
	aspect-ratio: 4 / 3;
	background: #f5f3ef;
}

.bgr-card__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 300ms ease;
}

.bgr-card:hover .bgr-card__image {
	transform: scale(1.025);
}

.bgr-card__badge {
	position: absolute;
	top: 16px;
	left: 16px;
	display: inline-flex;
	align-items: center;
	min-height: 30px;
	padding: 6px 12px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.94);
	color: #282421;
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
}

.bgr-card__content {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 24px;
}

.bgr-card__emoji {
	margin-bottom: 8px;
	font-size: 25px;
	line-height: 1;
}

.bgr-card__title {
	margin: 0 0 10px;
	font-size: 20px;
	line-height: 1.25;
}

.bgr-card__title a {
	color: inherit;
	text-decoration: none;
}

.bgr-card__teaser {
	margin: 0 0 22px;
	color: #6b655f;
	font-size: 15px;
	line-height: 1.6;
}

.bgr-card__footer {
	display: flex;
	align-items: flex-start;
	flex-direction: column;
	gap: 12px;
	margin-top: auto;
	margin-bottom: 18px;
}

.bgr-card__price {
	color: #282421;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.2;
}

.bgr-card__price del {
	margin-right: 4px;
	opacity: 0.5;
	font-size: 14px;
	font-weight: 400;
}

.bgr-card__price ins {
	text-decoration: none;
}

.bgr-card__status-badge {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	min-height: 30px;
	max-width: 100%;
	padding: 6px 11px;
	border: 1px solid transparent;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.25;
}

.bgr-card__status-dot {
	width: 7px;
	height: 7px;
	flex: 0 0 7px;
	border-radius: 50%;
	background: currentColor;
}

.bgr-card__status-badge--available {
	border-color: #d3e8da;
	background: #eaf7ee;
	color: #2e7049;
}

.bgr-card__status-badge--partial {
	border-color: #eadfbd;
	background: #fff8e8;
	color: #85651b;
}

.bgr-card__status-badge--complete {
	border-color: #e2e1df;
	background: #f3f3f1;
	color: #55514d;
}

.bgr-card__contribution-progress {
	width: 100%;
	height: 7px;
	overflow: hidden;
	border-radius: 999px;
	background: #e9e5dd;
}

.bgr-card__contribution-progress span {
	display: block;
	height: 100%;
	min-width: 2px;
	border-radius: inherit;
	background: #a8873c;
}

.bgr-card__contribution-meta {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	width: 100%;
	color: #7a736c;
	font-size: 11px;
	line-height: 1.35;
}

.bgr-card__contribution-meta span:last-child {
	text-align: right;
}

.bgr-card__button {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 48px;
	padding: 12px 18px;
	border-radius: 999px;
	background: #282421;
	color: #ffffff;
	font-size: 14px;
	font-weight: 700;
	line-height: 1;
	text-align: center;
	text-decoration: none;
	transition:
		transform 150ms ease,
		opacity 150ms ease;
}

.bgr-card__button:hover,
.bgr-card__button:focus {
	color: #ffffff;
	opacity: 0.88;
	transform: translateY(-1px);
}

.bgr-empty {
	padding: 40px;
	border-radius: 20px;
	background: #f7f5f1;
	text-align: center;
}

.bgr-empty p {
	margin: 0;
}

.bgr-error {
	padding: 16px;
	border: 1px solid #d63638;
	border-radius: 8px;
	background: #fcf0f1;
	color: #8a2424;
}

@media (max-width: 1024px) {
	.bgr-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.bgr-grid {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	.bgr-card {
		border-radius: 18px;
	}

	.bgr-card__content {
		padding: 20px;
	}

	.bgr-card__title {
		font-size: 18px;
	}
}

/* -----------------------------------------
   Cadeau-detailpagina
----------------------------------------- */

.bgr-single {
	width: min(1400px, calc(100% - 40px));
	margin: 0 auto;
	padding: 50px 0 100px;
}

.bgr-single *,
.bgr-single *::before,
.bgr-single *::after {
	box-sizing: border-box;
}

.bgr-single__back-wrapper {
	margin-bottom: 28px;
}

.bgr-single__back {
	color: #5f5954;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
}

.bgr-single__back:hover {
	color: #282421;
}

.bgr-single__layout {
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(320px, 0.75fr);
	gap: clamp(40px, 6vw, 90px);
	align-items: start;
}

.bgr-single__gallery {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

.bgr-single__gallery-item {
	overflow: hidden;
	margin: 0;
	aspect-ratio: 1 / 1;
	border-radius: 20px;
	background: #f5f3ef;
}

.bgr-single__gallery-item--main {
	grid-column: 1 / -1;
	aspect-ratio: 4 / 3;
}

.bgr-single__gallery-item img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.bgr-single__sticky {
	position: sticky;
	top: 40px;
}

.admin-bar .bgr-single__sticky {
	top: 72px;
}

.bgr-single__badge {
	display: inline-flex;
	align-items: center;
	min-height: 32px;
	margin-bottom: 20px;
	padding: 7px 14px;
	border-radius: 999px;
	background: #f1eee8;
	color: #39332f;
	font-size: 12px;
	font-weight: 700;
}

.bgr-single__emoji {
	margin-bottom: 14px;
	font-size: 34px;
	line-height: 1;
}

.bgr-single__title {
	margin: 0 0 18px;
	color: #282421;
	font-size: clamp(38px, 5vw, 64px);
	line-height: 1.02;
	letter-spacing: -0.035em;
}

.bgr-single__teaser {
	margin: 0 0 24px;
	color: #6b655f;
	font-size: 18px;
	line-height: 1.65;
}

.bgr-single__price {
	margin-bottom: 12px;
	color: #282421;
	font-size: 26px;
	font-weight: 750;
}

.bgr-single__price del {
	margin-right: 8px;
	opacity: 0.45;
	font-size: 17px;
	font-weight: 400;
}

.bgr-single__price ins {
	text-decoration: none;
}

.bgr-single__availability {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 28px;
	font-size: 14px;
	font-weight: 650;
}

.bgr-single__availability span {
	font-size: 10px;
}

.bgr-single__availability--available {
	color: #337451;
}

.bgr-single__availability--unavailable {
	color: #9b3e3e;
}

.bgr-single__actions {
	display: grid;
	gap: 12px;
}

.bgr-single__button {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 54px;
	padding: 14px 22px;
	border: 1px solid #282421;
	border-radius: 999px;
	font: inherit;
	font-size: 15px;
	font-weight: 750;
	cursor: pointer;
}

.bgr-single__button--primary {
	background: #282421;
	color: #ffffff;
}

.bgr-single__button--secondary {
	background: transparent;
	color: #282421;
}

.bgr-single__button:disabled {
	cursor: not-allowed;
	opacity: 0.55;
}

.bgr-single__actions-note {
	margin: 12px 0 0;
	color: #8a837d;
	font-size: 12px;
	line-height: 1.5;
}

.bgr-single__shop-link {
	display: inline-flex;
	gap: 7px;
	margin-top: 24px;
	color: #282421;
	font-size: 14px;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 4px;
}

.bgr-single__text-section {
	width: min(820px, 100%);
	margin: 90px auto 0;
}

.bgr-single__text-section h2 {
	margin: 0 0 24px;
	color: #282421;
	font-size: clamp(28px, 4vw, 42px);
	line-height: 1.15;
}

.bgr-single__rich-text,
.bgr-single__text-section p,
.bgr-single__delivery-list {
	color: #5f5954;
	font-size: 17px;
	line-height: 1.8;
}

.bgr-single__rich-text > :first-child {
	margin-top: 0;
}

.bgr-single__rich-text > :last-child {
	margin-bottom: 0;
}

.bgr-single__delivery-list {
	padding-left: 22px;
}

@media (max-width: 900px) {
	.bgr-single__layout {
		grid-template-columns: 1fr;
		gap: 40px;
	}

	.bgr-single__sticky {
		position: static;
	}

	.bgr-single__text-section {
		margin-top: 65px;
	}
}

@media (max-width: 640px) {
	.bgr-single {
		width: min(100% - 28px, 1400px);
		padding-top: 28px;
	}

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

	.bgr-single__gallery-item,
	.bgr-single__gallery-item--main {
		grid-column: auto;
		aspect-ratio: 4 / 3;
		border-radius: 16px;
	}

	.bgr-single__title {
		font-size: 40px;
	}

	.bgr-single__teaser {
		font-size: 16px;
	}

	.bgr-single__text-section {
		margin-top: 50px;
	}
}

/* ==========================================================
   Reservation pages
========================================================== */

.bgr-reservation,
.bgr-success{
    width:min(1100px,calc(100% - 32px));
    margin:60px auto 100px;
}

.bgr-reservation__container,
.bgr-success__container{
    max-width:960px;
    margin:0 auto;
}

.bgr-reservation__layout{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:48px;
    align-items:start;
}

.bgr-reservation__product,
.bgr-reservation__form-section,
.bgr-success__card{
    background:#fff;
    border:1px solid #ece8e3;
    border-radius:24px;
    padding:32px;
    box-shadow:0 12px 35px rgba(0,0,0,.06);
}

.bgr-reservation__image img,
.bgr-success__product-image img{
    width:100%;
    border-radius:18px;
    display:block;
}

.bgr-reservation-form{
    display:grid;
    gap:18px;
}

.bgr-form-row{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
}

.bgr-form-field{
    display:flex;
    flex-direction:column;
    gap:8px;
}

.bgr-form-field input{
    border:1px solid #d8d4cf;
    border-radius:14px;
    padding:14px 16px;
    font-size:15px;
}

.bgr-checkbox{
    display:flex;
    gap:12px;
    align-items:flex-start;
}

.bgr-button{
    display:inline-flex;
    justify-content:center;
    align-items:center;
    padding:15px 28px;
    border-radius:999px;
    background:#282421;
    color:#fff;
    text-decoration:none;
    font-weight:700;
    border:none;
    cursor:pointer;
}

.bgr-button:hover{
    color:#fff;
    opacity:.92;
}

.bgr-success__card{
    text-align:center;
}

.bgr-success__icon{
    width:72px;
    height:72px;
    margin:0 auto 20px;
    border-radius:50%;
    background:#2e9f59;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:34px;
    font-weight:700;
}

.bgr-success__product{
    display:flex;
    gap:24px;
    align-items:center;
    margin:30px 0;
    text-align:left;
}

@media (max-width:900px){

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

    .bgr-form-row{
        grid-template-columns:1fr;
    }

    .bgr-success__product{
        flex-direction:column;
        text-align:center;
    }

}


/* ==========================================================
   Product detail page — current template classes
========================================================== */

.bgr-single-gift {
	width: min(1400px, calc(100% - 40px));
	margin: 0 auto;
	padding: 50px 0 100px;
}

.bgr-single-gift *,
.bgr-single-gift *::before,
.bgr-single-gift *::after {
	box-sizing: border-box;
}

.bgr-single-gift__container {
	width: 100%;
}

.bgr-single-gift__back {
	display: inline-flex;
	margin-bottom: 28px;
	color: #5f5954;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
}

.bgr-single-gift__back:hover {
	color: #282421;
}

.bgr-single-gift__layout {
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(320px, 0.75fr);
	gap: clamp(40px, 6vw, 90px);
	align-items: start;
}

.bgr-single-gift__media {
	min-width: 0;
	padding: 34px;
	border: 1px solid rgba(25, 25, 25, 0.08);
	border-radius: 24px;
	background: #ffffff;
	box-shadow: 0 14px 45px rgba(25, 25, 25, 0.07);
}

.bgr-single-gift__main-image,
.bgr-single-gift__placeholder,
.bgr-single-gift__gallery-item {
	overflow: hidden;
	border-radius: 22px;
	background: #f5f3ef;
}

.bgr-single-gift__main-image {
	aspect-ratio: 4 / 3;
}

.bgr-single-gift__main-image img,
.bgr-single-gift__placeholder img,
.bgr-single-gift__gallery-item img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.bgr-single-gift__gallery {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
	margin-top: 14px;
}

.bgr-single-gift__gallery-item {
	aspect-ratio: 1 / 1;
}

.bgr-single-gift__content {
	position: sticky;
	top: 40px;
	padding: 34px;
	border: 1px solid rgba(25, 25, 25, 0.08);
	border-radius: 24px;
	background: #ffffff;
	box-shadow: 0 14px 45px rgba(25, 25, 25, 0.07);
}

.admin-bar .bgr-single-gift__content {
	top: 72px;
}

.bgr-single-gift__eyebrow {
	margin: 0 0 12px;
	color: #8a837d;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.bgr-single-gift__title {
	margin: 0 0 18px;
	color: #282421;
	font-size: clamp(38px, 5vw, 58px);
	line-height: 1.04;
	letter-spacing: -0.035em;
}

.bgr-single-gift__price {
	margin-bottom: 20px;
	color: #282421;
	font-size: 26px;
	font-weight: 750;
}

.bgr-single-gift__price del {
	margin-right: 8px;
	opacity: 0.45;
	font-size: 17px;
	font-weight: 400;
}

.bgr-single-gift__price ins {
	text-decoration: none;
}

.bgr-single-gift__intro {
	margin-bottom: 26px;
	color: #6b655f;
	font-size: 17px;
	line-height: 1.7;
}

.bgr-single-gift__intro > :first-child,
.bgr-single-gift__description > :first-child {
	margin-top: 0;
}

.bgr-single-gift__intro > :last-child,
.bgr-single-gift__description > :last-child {
	margin-bottom: 0;
}

.bgr-single-gift__actions {
	display: grid;
	gap: 12px;
	padding-top: 4px;
}

.bgr-single-gift__action-note {
	margin: 0;
	color: #8a837d;
	font-size: 12px;
	line-height: 1.5;
	text-align: center;
}

.bgr-single-gift__status {
	padding: 22px;
	border-radius: 18px;
}

.bgr-single-gift__status--reserved {
	background: #f6f0ee;
	color: #6f3737;
}

.bgr-single-gift__status strong {
	display: block;
	margin-bottom: 8px;
	font-size: 18px;
}

.bgr-single-gift__status p {
	margin: 0 0 18px;
	line-height: 1.6;
}

.bgr-single-gift__description {
	margin-top: 36px;
	padding-top: 30px;
	border-top: 1px solid #ece8e3;
	color: #5f5954;
	font-size: 16px;
	line-height: 1.8;
}

.bgr-single-gift__description h2 {
	margin: 0 0 18px;
	color: #282421;
	font-size: 26px;
	line-height: 1.2;
}

@media (max-width: 900px) {
	.bgr-single-gift__layout {
		grid-template-columns: 1fr;
		gap: 36px;
	}

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

@media (max-width: 640px) {
	.bgr-single-gift {
		width: min(100% - 28px, 1400px);
		padding: 28px 0 70px;
	}

	.bgr-single-gift__gallery {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

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

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

/* ==========================================================
   Gift detail v2.2 — availability, shops, quantity, lightbox
========================================================== */
.bgr-single-gift__main-image,
.bgr-single-gift__gallery-item {
	position: relative;
	width: 100%;
	padding: 0;
	border: 0;
	cursor: zoom-in;
}

.bgr-single-gift__zoom {
	position: absolute;
	right: 16px;
	bottom: 16px;
	padding: 8px 12px;
	border-radius: 999px;
	background: rgba(255,255,255,.92);
	color: #282421;
	font-size: 12px;
	font-weight: 700;
}

.bgr-single-gift__badge {
	display: inline-flex;
	margin-bottom: 14px;
	padding: 7px 12px;
	border-radius: 999px;
	background: #f1eee8;
	font-size: 12px;
	font-weight: 750;
}

.bgr-single-gift__availability {
	margin: 0 0 26px;
	padding: 18px;
	border: 1px solid #e7e1d9;
	border-radius: 18px;
	background: #faf8f5;
}

.bgr-single-gift__availability-heading {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 10px;
	color: #337451;
}

.bgr-single-gift__availability--reserved .bgr-single-gift__availability-heading {
	color: #9b3e3e;
}

.bgr-single-gift__progress {
	overflow: hidden;
	height: 9px;
	margin-bottom: 9px;
	border-radius: 999px;
	background: #e6e1da;
}

.bgr-single-gift__progress span {
	display: block;
	height: 100%;
	border-radius: inherit;
	background: currentColor;
	transition: width .5s ease;
}

.bgr-single-gift__availability small {
	color: #7a746e;
	font-size: 12px;
}

.bgr-single-gift__quantity-label {
	font-size: 14px;
	font-weight: 700;
}

.bgr-single-gift__quantity {
	display: grid;
	grid-template-columns: 48px minmax(64px, 1fr) 48px;
	overflow: hidden;
	width: 190px;
	border: 1px solid #d8d2ca;
	border-radius: 999px;
}

.bgr-single-gift__quantity button,
.bgr-single-gift__quantity input {
	height: 48px;
	border: 0;
	background: #fff;
	text-align: center;
	font: inherit;
	font-weight: 750;
}

.bgr-single-gift__quantity button {
	cursor: pointer;
	font-size: 22px;
}

.bgr-single-gift__quantity input {
	width: 100%;
	-moz-appearance: textfield;
}

.bgr-single-gift__quantity input::-webkit-inner-spin-button,
.bgr-single-gift__quantity input::-webkit-outer-spin-button {
	margin: 0;
	-webkit-appearance: none;
}

.bgr-single-gift__shops,
.bgr-single-gift__why {
	margin-top: 32px;
	padding-top: 28px;
	border-top: 1px solid #ece8e3;
}

.bgr-single-gift__shops h2,
.bgr-single-gift__why h2 {
	margin: 0 0 14px;
	font-size: 19px;
}

.bgr-single-gift__shop-button {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-top: 9px;
	padding: 13px 16px;
	border: 1px solid #ddd7cf;
	border-radius: 14px;
	color: #282421;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
	transition: transform .15s ease, border-color .15s ease, background .15s ease;
}

.bgr-single-gift__shop-button:hover {
	border-color: #282421;
	color: #282421;
	transform: translateY(-1px);
}

.bgr-single-gift__shop-button--official {
	border-color: #282421;
	background: #282421;
	color: #fff;
}

.bgr-single-gift__shop-button--official:hover {
	background: #3b3531;
	color: #fff;
}

.bgr-single-gift__why {
	color: #5f5954;
	line-height: 1.75;
}

.bgr-gallery-dialog {
	width: min(1200px, calc(100% - 32px));
	max-width: none;
	height: min(900px, calc(100% - 32px));
	max-height: none;
	padding: 0;
	border: 0;
	border-radius: 24px;
	background: #111;
}

.bgr-gallery-dialog::backdrop {
	background: rgba(0,0,0,.82);
}

.bgr-gallery-dialog__stage,
.bgr-gallery-dialog__slide {
	width: 100%;
	height: 100%;
}

.bgr-gallery-dialog__slide img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.bgr-gallery-dialog__close,
.bgr-gallery-dialog__nav {
	position: absolute;
	z-index: 2;
	border: 0;
	border-radius: 999px;
	background: rgba(255,255,255,.9);
	color: #111;
	cursor: pointer;
}

.bgr-gallery-dialog__close {
	top: 18px;
	right: 18px;
	width: 44px;
	height: 44px;
	font-size: 28px;
}

.bgr-gallery-dialog__nav {
	top: 50%;
	width: 48px;
	height: 48px;
	transform: translateY(-50%);
	font-size: 38px;
	line-height: 1;
}

.bgr-gallery-dialog__nav--prev { left: 18px; }
.bgr-gallery-dialog__nav--next { right: 18px; }

@media (max-width: 640px) {
	.bgr-single-gift__quantity {
		width: 100%;
	}

	.bgr-gallery-dialog {
		width: 100%;
		height: 100%;
		border-radius: 0;
	}

	.bgr-gallery-dialog__nav {
		width: 42px;
		height: 42px;
	}
}

/* Coordinotes List — reservation flow v2.3 */
.bgr-reservation__availability { margin-top: 24px; }
.bgr-reservation__availability-head { display: flex; justify-content: space-between; gap: 16px; margin-bottom: 10px; font-size: 14px; }
.bgr-reservation__availability-head strong { white-space: nowrap; }
.bgr-reservation__progress { height: 8px; overflow: hidden; border-radius: 999px; background: rgba(20, 20, 20, .09); }
.bgr-reservation__progress span { display: block; height: 100%; border-radius: inherit; background: currentColor; }
.bgr-quantity { display: inline-grid; grid-template-columns: 44px 72px 44px; align-items: stretch; overflow: hidden; border: 1px solid rgba(20, 20, 20, .16); border-radius: 12px; }
.bgr-quantity__button { border: 0; background: transparent; font-size: 22px; cursor: pointer; }
.bgr-quantity input { width: 100%; min-height: 46px; padding: 0; border: 0; border-right: 1px solid rgba(20, 20, 20, .12); border-left: 1px solid rgba(20, 20, 20, .12); border-radius: 0; text-align: center; font: inherit; appearance: textfield; }
.bgr-quantity input::-webkit-inner-spin-button,
.bgr-quantity input::-webkit-outer-spin-button { margin: 0; appearance: none; }
.bgr-form-field small { display: block; margin-top: 8px; opacity: .68; }
.bgr-reservation__summary { display: grid; grid-template-columns: 1fr auto; gap: 8px 24px; margin: 24px 0; padding: 18px; border-radius: 14px; background: rgba(20, 20, 20, .04); }
.bgr-reservation__summary strong { text-align: right; }
.bgr-success__details { display: grid; gap: 8px; margin: 16px 0 0; }
.bgr-success__details > div { display: flex; justify-content: space-between; gap: 24px; }
.bgr-success__details dt { opacity: .65; }
.bgr-success__details dd { margin: 0; font-weight: 700; }
@media (max-width: 640px) {
	.bgr-reservation__availability-head { align-items: flex-start; flex-direction: column; gap: 4px; }
	.bgr-quantity { grid-template-columns: 48px 1fr 48px; width: 100%; }
}

/* Mijn reservaties */
.bgr-my-reservations{padding:72px 20px}.bgr-my-reservations__container{max-width:980px;margin:0 auto}.bgr-my-reservations__header{margin-bottom:32px}.bgr-my-reservations__eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:700}.bgr-my-reservations__list{display:grid;gap:20px;margin-bottom:28px}.bgr-reservation-card{display:grid;grid-template-columns:180px 1fr;gap:24px;padding:20px;border:1px solid rgba(0,0,0,.1);border-radius:18px;background:#fff}.bgr-reservation-card__image img{width:100%;height:160px;object-fit:cover;border-radius:12px}.bgr-reservation-card__topline{display:flex;justify-content:space-between;gap:12px;align-items:center}.bgr-status{display:inline-flex;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:700;background:#f1f1f1}.bgr-status--fully_reserved,.bgr-status--received,.bgr-status--thanked{background:#e8f4ea}.bgr-status--almost_reserved,.bgr-status--partially_reserved{background:#fff4dd}.bgr-reservation-card__reservation-status{font-size:13px;opacity:.7}.bgr-reservation-card h2{margin:14px 0 6px}.bgr-reservation-card__meta{margin:0 0 20px;opacity:.7}.bgr-reservation-card__actions{display:flex;flex-wrap:wrap;gap:12px;align-items:end}.bgr-inline-form{display:flex;flex-wrap:wrap;gap:10px;align-items:end}.bgr-inline-form label{display:grid;gap:6px;font-size:13px;font-weight:600}.bgr-inline-form input{width:90px;padding:10px;border:1px solid rgba(0,0,0,.16);border-radius:8px}.bgr-button--danger{background:transparent;border-color:#b42318;color:#b42318}.bgr-notice{padding:14px 16px;border-radius:10px;margin-bottom:24px}.bgr-notice--success{background:#e8f4ea}.bgr-notice--error{background:#fdecec}.bgr-my-reservations__empty{padding:36px;border:1px solid rgba(0,0,0,.1);border-radius:18px;background:#fff}@media(max-width:700px){.bgr-reservation-card{grid-template-columns:1fr}.bgr-reservation-card__image img{height:220px}.bgr-reservation-card__topline{align-items:flex-start;flex-direction:column}.bgr-reservation-card__actions,.bgr-inline-form{align-items:stretch;flex-direction:column}.bgr-inline-form input{width:100%}}

/* Product detail information below the gallery */
.bgr-single-gift__left {
	display: grid;
	gap: 24px;
	min-width: 0;
}

.bgr-single-gift__details {
	padding: clamp(26px, 3vw, 38px);
	border: 1px solid rgba(25, 25, 25, 0.08);
	border-radius: 24px;
	background: #ffffff;
	box-shadow: 0 14px 45px rgba(25, 25, 25, 0.07);
}

.bgr-single-gift__details .bgr-single-gift__shops,
.bgr-single-gift__details .bgr-single-gift__why,
.bgr-single-gift__details .bgr-single-gift__description {
	margin-top: 0;
	padding-top: 0;
	border-top: 0;
}

.bgr-single-gift__details .bgr-single-gift__why,
.bgr-single-gift__details .bgr-single-gift__description {
	margin-top: 30px;
	padding-top: 28px;
	border-top: 1px solid #ece8e3;
}

.bgr-single-gift__details h2 {
	margin: 0 0 16px;
	color: #282421;
	font-family: "DM Serif Display", Georgia, serif;
	font-size: clamp(24px, 2.4vw, 31px);
	font-weight: 400;
	line-height: 1.15;
}

.bgr-single-gift__details .bgr-single-gift__description,
.bgr-single-gift__details .bgr-single-gift__why {
	color: #625c56;
	font-size: 16px;
	line-height: 1.8;
}

@media (max-width: 900px) {
	.bgr-single-gift__left {
		order: 1;
	}

	.bgr-single-gift__content {
		order: 2;
	}
}

@media (max-width: 640px) {
	.bgr-single-gift__details {
		padding: 24px;
		border-radius: 20px;
	}
}

/* v2.7 — gedeelde toegangscode */
.bgr-access-shell {
    display: grid;
    place-items: center;
    min-height: 68vh;
    padding: 48px 20px;
}
.bgr-access-card {
    width: min(100%, 520px);
    padding: clamp(32px, 6vw, 56px);
    text-align: center;
    background: #fff;
    border: 1px solid rgba(176, 142, 95, .24);
    border-radius: 28px;
    box-shadow: 0 22px 70px rgba(47, 39, 31, .10);
}
.bgr-access-logo {
    display: block;
    max-width: 180px;
    max-height: 86px;
    margin: 0 auto 24px;
    object-fit: contain;
}
.bgr-access-eyebrow {
    margin: 0 0 12px;
    color: #a17a48;
    font: 700 12px/1.2 Inter, sans-serif;
    letter-spacing: .14em;
    text-transform: uppercase;
}
.bgr-access-card h1 {
    margin: 0 0 16px;
    color: #251f1a;
    font: 400 clamp(34px, 6vw, 48px)/1.05 "DM Serif Display", serif;
}
.bgr-access-intro {
    margin: 0 auto 30px;
    max-width: 390px;
    color: #6f675f;
    font-size: 16px;
    line-height: 1.7;
}
.bgr-access-form { text-align: left; }
.bgr-access-form label {
    display: block;
    margin-bottom: 9px;
    color: #302923;
    font-weight: 700;
}
.bgr-access-form input {
    width: 100%;
    min-height: 54px;
    padding: 12px 16px;
    border: 1px solid #d9d0c6;
    border-radius: 14px;
    background: #fff;
    font-size: 20px;
    text-align: center;
    letter-spacing: .18em;
}
.bgr-access-form input:focus {
    outline: 0;
    border-color: #b28a57;
    box-shadow: 0 0 0 4px rgba(178, 138, 87, .14);
}
.bgr-access-form button {
    width: 100%;
    min-height: 54px;
    margin-top: 14px;
    border: 0;
    border-radius: 14px;
    color: #fff;
    background: #24211e;
    font-weight: 800;
    cursor: pointer;
}
.bgr-access-form button:hover { background: #000; }
.bgr-access-error {
    margin: 0 0 18px;
    padding: 12px 14px;
    border: 1px solid #e8b8b8;
    border-radius: 12px;
    color: #8b2828;
    background: #fff4f4;
    font-size: 14px;
}


/* ==========================================================
   v2.7.2 — refined mobile product layout
========================================================== */
.bgr-single-gift__mobile-heading {
	display: none;
}

@media (max-width: 640px) {
	/* Allow the media, action card and information card to be ordered separately. */
	.bgr-single-gift__layout {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		gap: 24px;
	}

	.bgr-single-gift__left {
		display: contents;
	}

	.bgr-single-gift__mobile-heading {
		display: block;
		order: 1;
	}

	.bgr-single-gift__mobile-title {
		margin: 0;
		color: #282421;
		font-family: "DM Serif Display", Georgia, serif;
		font-size: clamp(30px, 9vw, 36px);
		font-weight: 400;
		line-height: 1.08;
		letter-spacing: -0.025em;
	}

	.bgr-single-gift__media {
		order: 2;
		padding: 16px;
		border-radius: 20px;
	}

	.bgr-single-gift__main-image {
		aspect-ratio: 1 / 1;
		border-radius: 16px;
	}

	.bgr-single-gift__gallery {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 10px;
		margin-top: 10px;
	}

	.bgr-single-gift__gallery-item {
		aspect-ratio: 1 / 1;
		border-radius: 12px;
	}

	.bgr-single-gift__content {
		order: 3;
	}

	/* The title is shown above the gallery on mobile. */
	.bgr-single-gift__content .bgr-single-gift__title {
		display: none;
	}

	.bgr-single-gift__details {
		display: flex;
		order: 4;
		flex-direction: column;
	}

	/* Keep purchase information before the personal explanation. */
	.bgr-single-gift__details .bgr-single-gift__shops {
		order: 1;
	}

	.bgr-single-gift__details .bgr-single-gift__why {
		order: 2;
	}

	.bgr-single-gift__details .bgr-single-gift__description {
		order: 3;
	}
}


/* ==========================================================
   v2.7.3 — premium dynamic product status badge
========================================================== */
.bgr-single-gift__status-badge {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	width: fit-content;
	max-width: 100%;
	margin: -4px 0 24px;
	padding: 9px 14px;
	border: 1px solid transparent;
	border-radius: 999px;
	font-size: 13px;
	font-weight: 750;
	line-height: 1.25;
}

.bgr-single-gift__status-badge-icon {
	position: relative;
	display: inline-block;
	flex: 0 0 9px;
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: currentColor;
	box-shadow: 0 0 0 4px rgba(255,255,255,.55);
}

.bgr-single-gift__status-badge--available {
	border-color: #cfe5d5;
	background: #edf7f0;
	color: #27633d;
}

.bgr-single-gift__status-badge--partial {
	border-color: #ead9ad;
	background: #fff8e8;
	color: #806017;
}

.bgr-single-gift__status-badge--complete {
	border-color: #dedbd7;
	background: #f4f3f1;
	color: #5b5752;
}

@media (max-width: 640px) {
	.bgr-single-gift__status-badge {
		margin-top: -2px;
		margin-bottom: 22px;
		font-size: 12.5px;
	}
}


/* ==========================================================
   v2.7.6 — progress and status polish
========================================================== */
.bgr-card__contribution-progress {
	height: 6px;
	margin-top: 1px;
}

.bgr-card__contribution-meta {
	align-items: flex-start;
	font-size: 11px;
}

.bgr-card__contribution-meta span {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.bgr-card__contribution-meta strong {
	color: #302c28;
	font-size: 12px;
	font-weight: 750;
}

.bgr-contribution__progress-summary {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
	margin: 14px 0 10px;
}

.bgr-contribution__progress-summary > div {
	display: flex;
	flex-direction: column;
	gap: 3px;
}

.bgr-contribution__progress-summary > div:last-child {
	text-align: right;
}

.bgr-contribution__progress-summary strong {
	color: #292522;
	font-size: 15px;
	line-height: 1.2;
}

.bgr-contribution__progress-summary span {
	color: #7b746d;
	font-size: 11px;
}

.bgr-single-gift__progress--contribution {
	height: 7px;
	margin-bottom: 9px;
	color: #a8873c;
}

.bgr-contribution__pending {
	margin: 0 0 16px;
	color: #837b73;
	font-size: 11px;
	line-height: 1.45;
}

@media (max-width: 640px) {
	.bgr-card__footer {
		gap: 10px;
		margin-bottom: 15px;
	}

	.bgr-card__contribution-meta {
		gap: 8px;
	}

	.bgr-card__contribution-meta strong {
		font-size: 11.5px;
	}

	.bgr-contribution__progress-summary {
		gap: 10px;
		margin-top: 12px;
	}
}

/* ==========================================================
   v2.7.7 — premium cards and configurable labels
========================================================== */
.bgr-card {
	position: relative;
	display: flex;
	flex-direction: column;
	height: 100%;
	transition: transform .24s ease, box-shadow .24s ease;
}

.bgr-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 18px 45px rgba(49, 43, 36, .12);
}

.bgr-card__image-wrapper {
	position: relative;
	overflow: hidden;
}

.bgr-card__image {
	transition: transform .35s ease;
}

.bgr-card:hover .bgr-card__image {
	transform: scale(1.025);
}

.bgr-card__content {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
}

.bgr-card__title {
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.bgr-card__teaser {
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 4;
}

.bgr-card__footer {
	margin-top: auto;
}

.bgr-card__button {
	margin-top: 16px;
}

.bgr-card__image-badges {
	position: absolute;
	z-index: 3;
	top: 12px;
	left: 12px;
	right: 12px;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 8px;
	pointer-events: none;
}

.bgr-card__image-badges-left {
	display: flex;
	min-width: 0;
	flex-wrap: wrap;
	gap: 6px;
}

.bgr-card__custom-label {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	max-width: 100%;
	padding: 7px 11px;
	border: 1px solid rgba(255,255,255,.55);
	border-radius: 999px;
	background: var(--bgr-label-bg, #fff4d6);
	box-shadow: 0 5px 18px rgba(46, 39, 30, .10);
	color: var(--bgr-label-color, #6f5616);
	font-size: 12px;
	font-weight: 750;
	line-height: 1.15;
	white-space: nowrap;
}

.bgr-card__custom-label--legacy {
	--bgr-label-bg: #fff4d6;
	--bgr-label-color: #6f5616;
}

.bgr-card__status-badge--overlay {
	flex: 0 1 auto;
	min-height: 0;
	padding: 7px 10px;
	box-shadow: 0 5px 18px rgba(46, 39, 30, .09);
	white-space: nowrap;
}

.bgr-card:hover .bgr-card__button {
	filter: brightness(.92);
}

@media (max-width: 640px) {
	.bgr-card:hover {
		transform: none;
	}

	.bgr-card__image-badges {
		top: 9px;
		left: 9px;
		right: 9px;
		gap: 5px;
	}

	.bgr-card__custom-label,
	.bgr-card__status-badge--overlay {
		padding: 6px 8px;
		font-size: 10.5px;
	}

	.bgr-card__status-dot {
		width: 6px;
		height: 6px;
		flex-basis: 6px;
	}
}

.bgr-single-gift__custom-label {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	width: fit-content;
	margin: 0 0 14px;
	padding: 7px 11px;
	border-radius: 999px;
	background: var(--bgr-label-bg, #fff4d6);
	color: var(--bgr-label-color, #6f5616);
	font-size: 12px;
	font-weight: 750;
	line-height: 1.2;
}

@media (max-width: 640px) {
	.bgr-single-gift__mobile-heading .bgr-single-gift__custom-label {
		margin-bottom: 10px;
	}
}

/* ==========================================================
   v2.9.0 — categories, search, filters and theme editor
========================================================== */
body:has(.bgr-registry),
body:has(.bgr-single-gift),
body:has(.bgr-access-gate) {
    background-color: var(--bgr-page-bg, #f7f3ed);
    color: var(--bgr-text, #2d2925);
}

.bgr-card,
.bgr-single-gift__gallery,
.bgr-single-gift__actions,
.bgr-single-gift__details-card,
.bgr-access-gate,
.bgr-contribution {
    background-color: var(--bgr-card-bg, #fff);
}

.bgr-card__button,
.bgr-button,
.bgr-access-gate button,
.bgr-reservation-form button,
.bgr-contribution button {
    border-radius: var(--bgr-button-radius, 12px) !important;
    background: var(--bgr-button-bg, #26221f) !important;
    color: var(--bgr-button-text, #fff) !important;
}

.bgr-card__button:hover,
.bgr-button:hover,
.bgr-access-gate button:hover,
.bgr-reservation-form button:hover,
.bgr-contribution button:hover {
    filter: brightness(.9);
}

.bgr-registry-tools {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin: 0 0 28px;
}

.bgr-registry-search {
    position: relative;
    display: block;
    max-width: 520px;
}

.bgr-registry-search input {
    width: 100%;
    min-height: 48px;
    padding: 11px 16px;
    border: 1px solid rgba(61, 53, 46, .16);
    border-radius: 14px;
    background: var(--bgr-card-bg, #fff);
    color: var(--bgr-text, #2d2925);
    box-shadow: 0 5px 22px rgba(55, 47, 39, .05);
    font: 500 14px/1.4 Inter, sans-serif;
}

.bgr-registry-search input:focus {
    border-color: var(--bgr-accent, #c7a987);
    outline: 3px solid color-mix(in srgb, var(--bgr-accent, #c7a987) 22%, transparent);
}

.bgr-category-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.bgr-category-filter {
    min-height: 38px;
    padding: 8px 14px;
    border: 1px solid rgba(61, 53, 46, .14);
    border-radius: 999px;
    background: var(--bgr-card-bg, #fff);
    color: var(--bgr-text, #2d2925);
    cursor: pointer;
    font: 650 12px/1 Inter, sans-serif;
    transition: .2s ease;
}

.bgr-category-filter:hover,
.bgr-category-filter.is-active {
    border-color: var(--bgr-accent, #c7a987);
    background: var(--bgr-accent, #c7a987);
    color: #fff;
}

.bgr-card[hidden] {
    display: none !important;
}

.bgr-filter-empty {
    margin-top: 20px;
}

@media (max-width: 640px) {
    .bgr-registry-tools {
        margin-bottom: 20px;
    }
    .bgr-registry-search {
        max-width: none;
    }
    .bgr-category-filters {
        flex-wrap: nowrap;
        overflow-x: auto;
        padding: 0 0 5px;
        scrollbar-width: thin;
    }
    .bgr-category-filter {
        flex: 0 0 auto;
    }
}

/* v2.9.2 Theme Builder */
.bgr-registry,.bgr-single-gift,.bgr-access-shell,.bgr-success,.bgr-reservation{color:var(--bgr-text,#2d2925);font-family:var(--bgr-body-font,"Inter",sans-serif)}
.bgr-card,.bgr-single-gift__details,.bgr-single-gift__content,.bgr-access-card,.bgr-success__card{background:var(--bgr-card-bg,#fff)}
.bgr-card__description,.bgr-single-gift__intro,.bgr-registry-tools,.bgr-preview-copy{color:var(--bgr-muted,#6f6962)}


/* ==========================================================
   v3.0.0 — frontend experience sprint
========================================================== */
.bgr-registry-toolbar-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}
.bgr-registry-sort select {
    min-height: 42px;
    padding: 9px 38px 9px 13px;
    border: 1px solid rgba(61,53,46,.14);
    border-radius: 12px;
    background: var(--bgr-card-bg,#fff);
    color: var(--bgr-text,#2d2925);
    font: 650 12px/1.2 var(--bgr-body-font,"Inter",sans-serif);
}
.bgr-gift-share,
.bgr-related-gifts {
    max-width: var(--bgr-content-width,1180px);
    margin: 44px auto 0;
}
.bgr-gift-share {
    padding: 24px;
    border: 1px solid rgba(61,53,46,.1);
    border-radius: var(--bgr-card-radius,20px);
    background: var(--bgr-card-bg,#fff);
}
.bgr-gift-share h2,
.bgr-related-gifts h2 {
    margin: 0 0 16px;
    font-family: var(--bgr-heading-font,"DM Serif Display",serif);
}
.bgr-gift-share__buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
.bgr-gift-share__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 9px 14px;
    border: 1px solid rgba(61,53,46,.14);
    border-radius: 999px;
    background: transparent;
    color: var(--bgr-text,#2d2925);
    font: 700 12px/1 var(--bgr-body-font,"Inter",sans-serif);
    text-decoration: none;
    cursor: pointer;
}
.bgr-gift-share__button:hover { border-color: var(--bgr-accent,#c7a987); }
.bgr-related-gifts__header > p {
    margin: 0 0 6px;
    color: var(--bgr-muted,#6f6962);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.bgr-related-gifts__grid { grid-template-columns: repeat(3,minmax(0,1fr)); }

.bgr-mobile-actionbar {
    display: none;
}

.bgr-gallery-dialog {
    width: min(96vw, 1180px);
    max-width: none;
    height: min(92vh, 900px);
    padding: 18px;
    border: 0;
    border-radius: 20px;
    background: #111;
    color: #fff;
}
.bgr-gallery-dialog::backdrop { background: rgba(0,0,0,.82); backdrop-filter: blur(5px); }
.bgr-gallery-dialog__stage {
    display: grid;
    place-items: center;
    height: calc(100% - 92px);
    overflow: hidden;
    touch-action: pan-y;
}
.bgr-gallery-dialog__slide,
.bgr-gallery-dialog__slide img {
    max-width: 100%;
    max-height: 100%;
}
.bgr-gallery-dialog__slide img { object-fit: contain; }
.bgr-gallery-dialog__thumbs {
    display: flex;
    justify-content: center;
    gap: 8px;
    height: 68px;
    margin-top: 8px;
    overflow-x: auto;
}
.bgr-gallery-dialog__thumbs button {
    flex: 0 0 60px;
    width: 60px;
    height: 60px;
    padding: 2px;
    border: 2px solid transparent;
    border-radius: 10px;
    background: rgba(255,255,255,.08);
    opacity: .62;
    cursor: pointer;
}
.bgr-gallery-dialog__thumbs button.is-active { border-color: var(--bgr-accent,#c7a987); opacity: 1; }
.bgr-gallery-dialog__thumbs img { width: 100%; height: 100%; object-fit: cover; border-radius: 6px; }

@media (max-width: 760px) {
    body.bgr-single-gift-page { padding-bottom: 104px; }
    .bgr-registry-toolbar-row { align-items: stretch; flex-direction: column; }
    .bgr-registry-sort select { width: 100%; }
    .bgr-related-gifts__grid { grid-template-columns: 1fr; }
    .bgr-gift-share,
    .bgr-related-gifts { margin-top: 30px; }
    .bgr-mobile-actionbar {
        position: fixed;
        z-index: 9998;
        right: 0;
        bottom: 0;
        left: 0;
        display: grid;
        grid-template-columns: minmax(0,1fr) auto;
        align-items: center;
        gap: 12px;
        padding: 12px max(14px, env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left));
        border-top: 1px solid rgba(61,53,46,.12);
        background: color-mix(in srgb, var(--bgr-card-bg,#fff) 94%, transparent);
        box-shadow: 0 -10px 32px rgba(46,39,30,.12);
        backdrop-filter: blur(16px);
    }
    .bgr-mobile-actionbar__meta { min-width: 0; }
    .bgr-mobile-actionbar__meta strong,
    .bgr-mobile-actionbar__meta span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .bgr-mobile-actionbar__meta strong { font-size: 12px; }
    .bgr-mobile-actionbar__meta span { margin-top: 2px; font-size: 12px; color: var(--bgr-muted,#6f6962); }
    .bgr-mobile-actionbar__buttons { display: flex; gap: 7px; }
    .bgr-mobile-actionbar .bgr-button { min-height: 44px; padding: 10px 14px; font-size: 12px; white-space: nowrap; }
    .bgr-mobile-actionbar .bgr-button--secondary { border: 1px solid var(--bgr-button-bg,#26221f); background: transparent !important; color: var(--bgr-button-bg,#26221f) !important; }
    .bgr-gallery-dialog { width: 100vw; height: 100dvh; max-height: none; padding: 12px; border-radius: 0; }
    .bgr-gallery-dialog__stage { height: calc(100% - 86px); }
}

/* v3.0.1 — configureerbare, PNG-vriendelijke lightbox */
.bgr-gallery-dialog {
    background: var(--bgr-lightbox-bg, #f7f3ed) !important;
    transition: opacity var(--bgr-lightbox-animation, 220ms) ease,
                transform var(--bgr-lightbox-animation, 220ms) ease;
}
.bgr-gallery-dialog::backdrop {
    background: color-mix(in srgb, var(--bgr-lightbox-bg, #f7f3ed) 92%, transparent) !important;
    backdrop-filter: blur(var(--bgr-lightbox-blur, 5px));
    -webkit-backdrop-filter: blur(var(--bgr-lightbox-blur, 5px));
}
.bgr-gallery-dialog[open] {
    animation: bgr-lightbox-in var(--bgr-lightbox-animation, 220ms) ease both;
}
.bgr-gallery-dialog__slide,
.bgr-gallery-dialog__slide img {
    background: transparent !important;
}
.bgr-gallery-dialog__close,
.bgr-gallery-dialog__nav {
    color: var(--bgr-text, #2d2925);
    background: color-mix(in srgb, #fff 82%, transparent);
    border: 1px solid color-mix(in srgb, var(--bgr-text, #2d2925) 14%, transparent);
}
@keyframes bgr-lightbox-in {
    from { opacity: 0; transform: scale(.985); }
    to { opacity: 1; transform: scale(1); }
}
@media (prefers-reduced-motion: reduce) {
    .bgr-gallery-dialog[open] { animation: none; }
    .bgr-gallery-dialog { transition: none; }
}
.bgr-single-gift__main-image:disabled,
.bgr-single-gift__gallery-item:disabled {
    cursor: default;
    opacity: 1;
}

/* v3.2.0 — Smart Collections */
.bgr-collections,.bgr-collection-page{--bgr-collection-surface:#f7f3ed}.bgr-collections{max-width:1280px;margin:0 auto;padding:56px 24px}.bgr-collections__header{text-align:center;margin-bottom:36px}.bgr-collections__eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:12px;margin:0 0 10px;opacity:.62}.bgr-collections__title{font-size:clamp(32px,5vw,58px);margin:0}.bgr-collections__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.bgr-collection-card{min-width:0}.bgr-collection-card--featured{grid-column:span 2}.bgr-collection-card__link{display:block;color:inherit;text-decoration:none}.bgr-collection-card__media{position:relative;min-height:420px;border-radius:24px;overflow:hidden;background:var(--bgr-collection-surface);box-shadow:0 18px 55px rgba(48,38,28,.09)}.bgr-collection-card--featured .bgr-collection-card__media{min-height:520px}.bgr-collection-card__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.2,.75,.25,1)}.bgr-collection-card__link:hover img{transform:scale(1.045)}.bgr-collection-card__overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,10,8,.02) 28%,rgba(12,10,8,.72) 100%)}.bgr-collection-card__placeholder{position:absolute;inset:0;display:grid;place-items:center;background:linear-gradient(135deg,var(--bgr-collection-surface),color-mix(in srgb,var(--bgr-collection-accent) 20%,white))}.bgr-collection-card__placeholder span{font-size:74px}.bgr-collection-card__content{position:absolute;left:0;right:0;bottom:0;padding:34px;color:#fff}.bgr-collection-card__icon{font-size:28px}.bgr-collection-card h3{font-size:clamp(29px,4vw,48px);line-height:1.05;margin:8px 0}.bgr-collection-card p{margin:0 0 18px;max-width:560px;font-size:16px}.bgr-collection-card__meta{display:inline-flex;gap:9px;align-items:center;font-size:14px;font-weight:650;letter-spacing:.02em}.bgr-collection-page{background:#fff;padding-bottom:80px}.bgr-collection-hero{position:relative;min-height:580px;display:flex;align-items:flex-end;background:var(--bgr-collection-surface);overflow:hidden}.bgr-collection-hero__image,.bgr-collection-hero__shade{position:absolute;inset:0;width:100%;height:100%}.bgr-collection-hero__image{object-fit:cover}.bgr-collection-hero__shade{background:linear-gradient(180deg,rgba(20,16,12,.04),rgba(20,16,12,.68))}.bgr-collection-hero__content{position:relative;z-index:1;width:min(1180px,calc(100% - 48px));margin:0 auto;padding:80px 0;color:#fff}.bgr-collection-hero:not(.has-image) .bgr-collection-hero__content{color:#2d2925}.bgr-collection-hero:not(.has-image) .bgr-collection-hero__shade{display:none}.bgr-collection-hero__icon{font-size:34px}.bgr-collection-hero__eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:12px;margin:12px 0}.bgr-collection-hero h1{font-size:clamp(48px,9vw,104px);line-height:.95;margin:0;max-width:900px}.bgr-collection-hero__subtitle{font-size:clamp(18px,2.3vw,27px);max-width:720px;margin:22px 0 0}.bgr-collection-intro,.bgr-collection-products,.bgr-collection-back{width:min(1180px,calc(100% - 48px));margin-left:auto;margin-right:auto}.bgr-collection-intro{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;padding:80px 0}.bgr-collection-intro__description{font-size:18px;line-height:1.8}.bgr-collection-story{background:var(--bgr-collection-surface);border-radius:22px;padding:34px;font-size:19px;line-height:1.65;position:relative}.bgr-collection-story__mark{display:block;color:var(--bgr-collection-accent);font-size:62px;line-height:.65;margin-bottom:16px}.bgr-collection-products{padding:28px 0 56px}.bgr-collection-products__heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:28px}.bgr-collection-products__heading h2{font-size:42px;margin:0}.bgr-collection-products__heading>span{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--bgr-collection-surface);font-weight:700}.bgr-collection-back a{color:inherit;text-decoration:none;font-weight:650}@media(max-width:760px){.bgr-collections{padding:38px 16px}.bgr-collections__grid{grid-template-columns:1fr}.bgr-collection-card--featured{grid-column:auto}.bgr-collection-card__media,.bgr-collection-card--featured .bgr-collection-card__media{min-height:390px}.bgr-collection-card__content{padding:25px}.bgr-collection-hero{min-height:520px}.bgr-collection-hero__content,.bgr-collection-intro,.bgr-collection-products,.bgr-collection-back{width:calc(100% - 32px)}.bgr-collection-intro{grid-template-columns:1fr;gap:24px;padding:48px 0}.bgr-collection-hero h1{font-size:52px}}

/* v3.3 Smart Bundles */
.bgr-bundles{max-width:1280px;margin:56px auto;padding:0 24px}.bgr-bundles__heading{margin-bottom:24px}.bgr-bundles-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.bgr-bundle-card{overflow:hidden;border-radius:24px;background:var(--bgr-card-bg,#fff);box-shadow:0 18px 50px rgba(65,50,38,.09)}.bgr-bundle-card a{text-decoration:none;color:inherit}.bgr-bundle-card__media{height:260px;position:relative;background:#f7f3ed}.bgr-bundle-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.bgr-bundle-card:hover img{transform:scale(1.035)}.bgr-bundle-card__status{position:absolute;left:16px;bottom:16px;background:rgba(255,255,255,.92);padding:8px 12px;border-radius:999px;font-size:13px}.bgr-bundle-card__body{padding:22px}.bgr-bundle-card__body>p,.bgr-bundle-actions__eyebrow{margin:0 0 6px;text-transform:uppercase;letter-spacing:.12em;font-size:12px}.bgr-bundle-card__body h3{margin:0 0 8px;font-size:25px}.bgr-bundle-card__body>div{display:flex;justify-content:space-between;margin-top:18px}.bgr-bundle-page{background:#fbf8f4;min-height:100vh}.bgr-bundle-hero{height:min(62vh,680px);position:relative;display:flex;align-items:flex-end;background:#e9e0d6;overflow:hidden}.bgr-bundle-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.bgr-bundle-hero__shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(25,18,12,.64),rgba(25,18,12,.05) 70%)}.bgr-bundle-hero__content{position:relative;z-index:1;color:#fff;padding:clamp(32px,7vw,90px);max-width:900px}.bgr-bundle-hero__content p{text-transform:uppercase;letter-spacing:.18em}.bgr-bundle-hero__content h1{font-size:clamp(42px,7vw,86px);line-height:.98;margin:8px 0 16px}.bgr-bundle-hero__content span{font-size:clamp(18px,2vw,28px)}.bgr-bundle-shell{max-width:1260px;margin:auto;padding:56px 24px}.bgr-bundle-intro{max-width:850px;margin:0 auto 48px;font-size:18px;line-height:1.7}.bgr-bundle-intro aside{margin-top:24px;padding:28px;border-radius:20px;background:#f7f3ed}.bgr-bundle-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(320px,.75fr);gap:42px;align-items:start}.bgr-bundle-section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:20px}.bgr-bundle-section-heading p{margin:0;text-transform:uppercase;letter-spacing:.12em;font-size:12px}.bgr-bundle-section-heading h2{margin:5px 0 0}.bgr-bundle-items{display:grid;gap:14px}.bgr-bundle-item{background:#fff;border-radius:20px;box-shadow:0 10px 30px rgba(65,50,38,.07)}.bgr-bundle-item a{display:grid;grid-template-columns:96px 1fr auto;gap:18px;align-items:center;padding:14px;text-decoration:none;color:inherit}.bgr-bundle-item__image{width:96px;height:96px;background:#f7f3ed;border-radius:14px;overflow:hidden}.bgr-bundle-item__image img{width:100%;height:100%;object-fit:contain}.bgr-bundle-item span{font-size:12px;font-weight:700;color:#4f7b54}.bgr-bundle-item.is-unavailable{opacity:.58}.bgr-bundle-item.is-unavailable span{color:#8b5d5d}.bgr-bundle-item h3{margin:4px 0}.bgr-bundle-item p{margin:0}.bgr-bundle-actions{position:sticky;top:28px;background:#fff;border-radius:24px;padding:28px;box-shadow:0 18px 60px rgba(65,50,38,.1)}.bgr-bundle-actions h2{font-size:38px;margin:0 0 8px}.bgr-bundle-actions details{border-top:1px solid #eee;padding-top:18px;margin-top:20px}.bgr-bundle-actions summary{cursor:pointer;font-weight:700;margin-bottom:16px}.bgr-bundle-actions form{display:grid;gap:11px}.bgr-bundle-actions input,.bgr-bundle-actions textarea{width:100%;border:1px solid #ddd;border-radius:12px;padding:12px}.bgr-bundle-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.bgr-primary-button{border:0;border-radius:999px;padding:14px 20px;background:var(--bgr-button-bg,#26221f);color:#fff;font-weight:700;cursor:pointer}.bgr-bundle-progress{height:8px;background:#eee6dd;border-radius:999px;overflow:hidden}.bgr-bundle-progress span{display:block;height:100%;background:var(--bgr-accent,#b69775)}.bgr-bundle-share{width:100%;margin-top:18px;border:1px solid #ddd;background:transparent;border-radius:999px;padding:12px}.bgr-bundle-notice{padding:15px 18px;border-radius:14px;margin-bottom:24px}.bgr-bundle-notice--success{background:#edf7ed;color:#2e6935}.bgr-bundle-notice--error{background:#fff0f0;color:#8f3030}.bgr-product-bundles{margin:22px 0;padding:18px;border-radius:16px;background:#f7f3ed}.bgr-product-bundles h3{margin:0 0 10px}.bgr-product-bundles a{display:flex;justify-content:space-between;text-decoration:none;padding:8px 0;color:inherit}
@media(max-width:900px){.bgr-bundles-grid{grid-template-columns:1fr 1fr}.bgr-bundle-layout{grid-template-columns:1fr}.bgr-bundle-actions{position:static}.bgr-bundle-hero{height:480px}}@media(max-width:620px){.bgr-bundles-grid{grid-template-columns:1fr}.bgr-bundle-shell{padding:34px 16px}.bgr-bundle-hero{height:420px}.bgr-bundle-item a{grid-template-columns:76px 1fr auto}.bgr-bundle-item__image{width:76px;height:76px}.bgr-bundle-form-grid{grid-template-columns:1fr}}


/* ==========================================================
   v3.5.0-alpha2 — basic UI polish
========================================================== */
.bgr-single-gift {
	width: min(var(--bgr-content-width, 1240px), calc(100% - 40px));
	padding: 38px 0 80px;
	font-family: var(--bgr-body-font, system-ui, sans-serif);
	color: var(--bgr-text, inherit);
}
.bgr-single-gift__back { margin-bottom: 22px; color: var(--bgr-muted, inherit); }
.bgr-single-gift__layout {
	grid-template-columns: minmax(0, 1.45fr) minmax(330px, .72fr);
	gap: clamp(28px, 4vw, 56px);
}
.bgr-single-gift__left { gap: 20px; }
.bgr-single-gift__media,
.bgr-single-gift__details,
.bgr-single-gift__content {
	border-color: rgba(30,25,20,.08);
	border-radius: var(--bgr-card-radius, 22px);
	background: var(--bgr-card-bg, #fff);
	box-shadow: var(--bgr-card-shadow, 0 10px 30px rgba(35,28,22,.07));
}
.bgr-single-gift__media { padding: clamp(18px, 2.4vw, 28px); }
.bgr-single-gift__main-image { aspect-ratio: 4 / 3; }
.bgr-single-gift__content { top: 28px; padding: clamp(24px, 2.7vw, 32px); }
.admin-bar .bgr-single-gift__content { top: 60px; }
.bgr-single-gift__title,
.bgr-single-gift__mobile-title,
.bgr-single-gift__details h2 {
	font-family: var(--bgr-heading-font, Georgia, serif);
	font-weight: 400;
}
.bgr-single-gift__title {
	max-width: 14ch;
	margin-bottom: 16px;
	font-size: clamp(32px, 3.25vw, 46px);
	line-height: 1.08;
	letter-spacing: -.025em;
}
.bgr-single-gift__price { margin-bottom: 16px; font-size: 23px; }
.bgr-single-gift__status-badge { margin: 0 0 20px; }
.bgr-single-gift__intro { margin-bottom: 22px; font-size: 15px; line-height: 1.65; }
.bgr-single-gift__details { padding: clamp(24px, 2.8vw, 32px); }
.bgr-single-gift__details h2 { font-size: clamp(22px, 2vw, 27px); }
.bgr-single-gift__details .bgr-single-gift__why,
.bgr-single-gift__details .bgr-single-gift__description { margin-top: 24px; padding-top: 24px; }
.bgr-single-gift__shop-button { min-height: 46px; }
.bgr-single-gift input,
.bgr-single-gift textarea,
.bgr-single-gift select,
.bgr-single-gift button { font-family: inherit; }
.bgr-single-gift .bgr-button { min-height: 48px; }

@media (max-width: 900px) {
	.bgr-single-gift__layout { grid-template-columns: 1fr; gap: 24px; }
	.bgr-single-gift__content { position: static; }
}
@media (max-width: 640px) {
	.bgr-single-gift { width: min(100% - 24px, var(--bgr-content-width, 1240px)); padding: 24px 0 56px; }
	.bgr-single-gift__back { margin-bottom: 18px; font-size: 13px; }
	.bgr-single-gift__layout { gap: 18px; }
	.bgr-single-gift__mobile-title { font-size: clamp(29px, 8.5vw, 35px); }
	.bgr-single-gift__media { padding: 14px; }
	.bgr-single-gift__content,
	.bgr-single-gift__details { padding: 22px; }
}


/* ==========================================================
   v3.5.0-alpha3 — product actions and compact mobile grid
========================================================== */
.bgr-single-gift {
	font-family: var(--bgr-body-font, inherit);
}
.bgr-single-gift__title,
.bgr-single-gift__mobile-title,
.bgr-single-gift__details h2,
.bgr-contribution h2 {
	font-family: inherit;
	font-weight: 650;
	letter-spacing: -0.02em;
}
.bgr-single-gift__layout {
	grid-template-columns: minmax(0, 1.55fr) minmax(360px, .75fr);
	gap: clamp(28px, 3.5vw, 48px);
}
.bgr-single-gift__content {
	padding: clamp(24px, 2.5vw, 30px);
}
.bgr-single-gift__eyebrow {
	margin-bottom: 12px;
}
.bgr-single-gift__title {
	max-width: none;
	font-size: clamp(32px, 3vw, 44px);
	line-height: 1.08;
}
.bgr-single-gift__actions {
	gap: 10px;
	margin-bottom: 10px;
}
.bgr-single-gift__action-note {
	margin: 0;
}
.bgr-contribution-toggle {
	width: 100%;
	margin-top: 10px;
	border: 1px solid rgba(40, 36, 33, .22);
	background: transparent;
	color: inherit;
}
.bgr-contribution-toggle:hover,
.bgr-contribution-toggle:focus-visible {
	border-color: currentColor;
	background: rgba(40, 36, 33, .04);
}
.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;
}
.bgr-contribution-panel .bgr-contribution h2 {
	margin-top: 0;
	font-size: 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: 13px;
		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: 4;
	}
	.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-panel .bgr-contribution h2 { font-size: 20px; }
}

/* ==========================================================
   FINAL FRONTEND CORRECTIONS
   - uniform product cards
   - natural detail images
   - transparent image buttons
   - tighter mobile registry layout
   ========================================================== */

/* ----------------------------------------------------------
   Registry / shop cards: keep every image area uniform
   ---------------------------------------------------------- */
.bgr-card__image-wrapper {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 4 / 3 !important;
	background: #f5f3ef;
}

.bgr-card__image {
	display: block;
	width: 100% !important;
	height: 100% !important;
	object-fit: contain !important;
	object-position: center;
}

/* ----------------------------------------------------------
   Product detail: preserve the original image proportions
   ---------------------------------------------------------- */
.bgr-single-gift__main-image,
.bgr-single-gift__placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	width: 100%;
	height: auto !important;
	aspect-ratio: auto !important;
	padding: 0;
	border: 0;
	background: #f5f3ef !important;
	-webkit-appearance: none;
	appearance: none;
}

.bgr-single-gift__main-image img,
.bgr-single-gift__placeholder img {
	display: block;
	width: 100% !important;
	max-width: 100%;
	height: auto !important;
	max-height: 720px;
	margin: 0 auto;
	object-fit: contain !important;
	object-position: center;
	background: transparent !important;
}

/* Thumbnails remain uniform, without stretching their images. */
.bgr-single-gift__gallery-item {
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	aspect-ratio: 1 / 1 !important;
	padding: 0;
	border: 0;
	background: #f5f3ef !important;
	-webkit-appearance: none;
	appearance: none;
}

.bgr-single-gift__gallery-item img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	object-fit: contain !important;
	object-position: center;
	background: transparent !important;
}

/* Prevent the active/clicked gallery button from becoming black. */
.bgr-single-gift__main-image:hover,
.bgr-single-gift__main-image:focus,
.bgr-single-gift__main-image:active,
.bgr-single-gift__gallery-item:hover,
.bgr-single-gift__gallery-item:focus,
.bgr-single-gift__gallery-item:active {
	border: 0;
	outline: 0;
	background: #f5f3ef !important;
	box-shadow: none;
	filter: none;
}

/* Keep reservation images natural as well. */
.bgr-reservation__image img,
.bgr-success__product-image img {
	display: block;
	width: 100% !important;
	height: auto !important;
	object-fit: contain !important;
}

/* ----------------------------------------------------------
   Mobile registry: use the available screen width
   ---------------------------------------------------------- */
@media (max-width: 640px) {
	/* Remove padding commonly added by WordPress themes around shortcodes. */
	body:has(.bgr-registry) .site-main,
	body:has(.bgr-registry) main,
	body:has(.bgr-registry) article,
	body:has(.bgr-registry) .entry-content,
	body:has(.bgr-registry) .wp-block-post-content,
	body:has(.bgr-registry) .elementor,
	body:has(.bgr-registry) .elementor-section,
	body:has(.bgr-registry) .elementor-container,
	body:has(.bgr-registry) .elementor-widget-wrap,
	body:has(.bgr-registry) .elementor-widget-container {
		max-width: none !important;
		padding-right: 0 !important;
		padding-left: 0 !important;
	}

	.bgr-registry {
		width: 100% !important;
		max-width: none !important;
		margin: 0 auto !important;
		padding: 28px 10px 40px !important;
	}

	.bgr-registry__header {
		margin-bottom: 18px;
		padding: 0 4px;
	}

	.bgr-registry__title {
		font-size: clamp(27px, 8vw, 34px);
		line-height: 1.08;
	}

	.bgr-registry-tools {
		gap: 10px;
		margin-bottom: 14px;
		padding: 0;
	}

	.bgr-registry-search,
	.bgr-registry-toolbar-row,
	.bgr-registry-sort {
		width: 100%;
		max-width: none;
	}

	.bgr-registry-search input,
	.bgr-registry-sort select {
		width: 100%;
		min-height: 44px;
		font-size: 14px;
	}

	.bgr-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 10px !important;
	}

	.bgr-card {
		min-width: 0;
		border-radius: 14px;
	}

	/* All mobile overview images stay equal and square. */
	.bgr-card__image-wrapper {
		aspect-ratio: 1 / 1 !important;
	}

	.bgr-card__content {
		padding: 10px !important;
	}

	.bgr-card__title {
		margin-bottom: 6px;
		font-size: 13px;
		line-height: 1.2;
	}

	.bgr-card__teaser {
		margin-bottom: 9px;
		font-size: 11px;
		line-height: 1.35;
		-webkit-line-clamp: 4;
	}

	.bgr-card__price {
		font-size: 14px;
	}

	.bgr-card__button {
		min-height: 38px;
		padding: 8px 5px;
		font-size: 11px;
	}

	.bgr-card__image-badges {
		top: 7px;
		right: 7px;
		left: 7px;
	}

	.bgr-card__custom-label,
	.bgr-card__status-badge--overlay {
		padding: 5px 7px;
		font-size: 9.5px;
	}

	/* Product detail keeps only 10 px on either side. */
	.bgr-single-gift {
		width: calc(100% - 20px) !important;
		margin-right: auto !important;
		margin-left: auto !important;
		padding-top: 18px;
	}

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

	.bgr-single-gift__main-image {
		min-height: 0;
		border-radius: 16px;
	}

	.bgr-single-gift__main-image img {
		max-height: none;
	}

	.bgr-single-gift__gallery {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 8px;
		margin-top: 8px;
	}

	.bgr-single-gift__gallery-item {
		border-radius: 12px;
	}
}

/* ==========================================================
   Mobile: geboortelijst maximaal benutten
   ========================================================== */
@media (max-width: 640px) {

	body:has(.bgr-registry) .elementor,
	body:has(.bgr-registry) .e-con,
	body:has(.bgr-registry) .e-con-inner,
	body:has(.bgr-registry) .elementor-element,
	body:has(.bgr-registry) .elementor-widget,
	body:has(.bgr-registry) .elementor-widget-container {
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		box-sizing: border-box !important;
	}

	.bgr-registry {
        	width: calc(100% - 10px) !important;
        	max-width: calc(100% - 10px) !important;

       	 	margin: 0 auto !important;

        	padding: 20px 0 30px !important;

        	box-sizing: border-box !important;
    	}


	.bgr-registry__header,
	.bgr-registry-tools,
	.bgr-registry-toolbar,
	.bgr-registry-search,
	.bgr-registry-sort {
		width: 100% !important;
		max-width: 100% !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		box-sizing: border-box !important;
	}

	.bgr-grid {
		width: 100% !important;
		max-width: 100% !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 8px !important;
		box-sizing: border-box !important;
	}

	.bgr-card {
		width: 100% !important;
		min-width: 0 !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
	}

	html,
	body {
		overflow-x: hidden;
	}
}



/* ==========================================================
   v3.6.2 — definitive mobile registry gutter and badge layout
   ========================================================== */

.bgr-registry-shell {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

.bgr-registry-shell,
.bgr-registry-shell * {
	box-sizing: border-box;
}

@media (max-width: 640px) {
	/*
	 * Remove outer theme/Elementor spacing only around the registry.
	 * The shell itself supplies the visible green gutter.
	 */
	body:has(.bgr-registry-shell) .site-main,
	body:has(.bgr-registry-shell) main,
	body:has(.bgr-registry-shell) article,
	body:has(.bgr-registry-shell) .entry-content,
	body:has(.bgr-registry-shell) .wp-block-post-content,
	body:has(.bgr-registry-shell) .elementor,
	body:has(.bgr-registry-shell) .e-con,
	body:has(.bgr-registry-shell) .e-con-inner,
	body:has(.bgr-registry-shell) .elementor-element,
	body:has(.bgr-registry-shell) .elementor-widget,
	body:has(.bgr-registry-shell) .elementor-widget-container {
		width: 100% !important;
		max-width: 100% !important;
		margin-right: 0 !important;
		margin-left: 0 !important;
		padding-right: 0 !important;
		padding-left: 0 !important;
		box-sizing: border-box !important;
	}

	/*
	 * This 5 px shell padding is the green strip visible around the
	 * white registry panel.
	 */
	.bgr-registry-shell {
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding: 5px !important;
		overflow: hidden;
	}

	.bgr-registry-shell > .bgr-registry {
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding: 22px 5px 30px !important;
		overflow: hidden;
		border-radius: 12px;
		background: var(--bgr-card-bg, #fff) !important;
	}

	.bgr-registry-shell .bgr-registry__header,
	.bgr-registry-shell .bgr-registry-tools,
	.bgr-registry-shell .bgr-registry-toolbar,
	.bgr-registry-shell .bgr-registry-toolbar-row,
	.bgr-registry-shell .bgr-registry-search,
	.bgr-registry-shell .bgr-registry-sort,
	.bgr-registry-shell .bgr-grid {
		width: 100% !important;
		max-width: 100% !important;
		margin-right: 0 !important;
		margin-left: 0 !important;
		padding-right: 0 !important;
		padding-left: 0 !important;
	}

	.bgr-registry-shell .bgr-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 8px !important;
	}

	.bgr-registry-shell .bgr-card {
		width: 100% !important;
		min-width: 0 !important;
		max-width: 100% !important;
	}

	/*
	 * Mobile badge positions:
	 * - availability/status at the top right
	 * - custom label at the bottom left
	 */
	.bgr-registry-shell .bgr-card__image-badges {
		position: absolute;
		inset: 0;
		display: block;
		pointer-events: none;
	}

	.bgr-registry-shell .bgr-card__image-badges-left {
		position: absolute;
		right: 7px;
		bottom: 7px;
		left: 7px;
		display: flex;
		align-items: flex-end;
		justify-content: flex-start;
		max-width: calc(100% - 14px);
	}

	.bgr-registry-shell .bgr-card__custom-label {
		max-width: 100%;
		overflow: hidden;
		padding: 5px 7px;
		font-size: 9.5px;
		line-height: 1.1;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	.bgr-registry-shell .bgr-card__status-badge--overlay {
		position: absolute;
		top: 7px;
		right: 7px;
		max-width: calc(100% - 14px);
		padding: 5px 7px;
		font-size: 9.5px;
		white-space: nowrap;
	}

	html,
	body {
		max-width: 100%;
		overflow-x: hidden;
	}
}


/* ==========================================================
   v3.8.1 — product detail polish
   ========================================================== */

/* Product photos remain on a clean white surface in every state. */
.bgr-single-gift__main-image,
.bgr-single-gift__main-image:hover,
.bgr-single-gift__main-image:focus,
.bgr-single-gift__main-image:focus-visible,
.bgr-single-gift__main-image:active,
.bgr-single-gift__gallery-item,
.bgr-single-gift__gallery-item:hover,
.bgr-single-gift__gallery-item:focus,
.bgr-single-gift__gallery-item:focus-visible,
.bgr-single-gift__gallery-item:active,
.bgr-single-gift__placeholder {
    background: #fff !important;
    background-color: #fff !important;
    color: inherit !important;
    filter: none !important;
}

.bgr-single-gift__main-image::before,
.bgr-single-gift__main-image::after,
.bgr-single-gift__gallery-item::before,
.bgr-single-gift__gallery-item::after {
    background: transparent !important;
}

/* Gallery thumbnails use a 4:3 frame. */
.bgr-single-gift__gallery-item {
    width: 100%;
    aspect-ratio: 4 / 3 !important;
}

.bgr-single-gift__gallery-item img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    background: #fff !important;
}

/* Long Dutch product names may hyphenate instead of escaping the card. */
.bgr-single-gift__title,
.bgr-single-gift__mobile-title,
.bgr-single-gift__content h1,
.bgr-single-gift__content h2,
.bgr-single-gift__details h2,
.bgr-reservation__title {
    max-width: 100%;
    overflow-wrap: break-word;
    word-wrap: break-word;
    word-break: normal;
    -webkit-hyphens: auto;
    -ms-hyphens: auto;
    hyphens: auto;
}


/* ==========================================================
   v3.8.2 — definitive gallery surface + product specifications
   ========================================================== */

/*
 * Keep a solid white layer underneath transparent product images.
 * The extra specificity and isolated stacking context prevent active
 * theme/Elementor button hover styles from exposing a dark background.
 */
body .bgr-single-gift button.bgr-single-gift__main-image,
body .bgr-single-gift button.bgr-single-gift__main-image:hover,
body .bgr-single-gift button.bgr-single-gift__main-image:focus,
body .bgr-single-gift button.bgr-single-gift__main-image:focus-visible,
body .bgr-single-gift button.bgr-single-gift__main-image:active {
	position: relative !important;
	isolation: isolate;
	overflow: hidden;
	background: #fff !important;
	background-color: #fff !important;
	background-image: none !important;
	border-color: transparent !important;
	box-shadow: none !important;
	filter: none !important;
	opacity: 1 !important;
}

body .bgr-single-gift button.bgr-single-gift__main-image::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	display: block;
	background: #fff !important;
	opacity: 1 !important;
	pointer-events: none;
}

body .bgr-single-gift button.bgr-single-gift__main-image::after {
	display: none !important;
	content: none !important;
}

body .bgr-single-gift button.bgr-single-gift__main-image > img,
body .bgr-single-gift button.bgr-single-gift__main-image:hover > img,
body .bgr-single-gift button.bgr-single-gift__main-image:focus > img,
body .bgr-single-gift button.bgr-single-gift__main-image:active > img {
	position: relative;
	z-index: 1;
	display: block;
	opacity: 1 !important;
	background: #fff !important;
	background-color: #fff !important;
	mix-blend-mode: normal !important;
	filter: none !important;
	transform: none;
}

body .bgr-single-gift .bgr-single-gift__zoom {
	z-index: 2;
}

/* Optional product size and colour shown between price and status. */
.bgr-single-gift__specs {
	display: grid;
	gap: 8px;
	margin: -2px 0 18px;
	padding: 0;
	font-size: 14px;
	line-height: 1.45;
}

.bgr-single-gift__spec {
	display: grid;
	grid-template-columns: 64px minmax(0, 1fr);
	gap: 12px;
	align-items: baseline;
}

.bgr-single-gift__spec dt,
.bgr-single-gift__spec dd {
	margin: 0;
}

.bgr-single-gift__spec dt {
	color: var(--bgr-muted, #756f69);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.bgr-single-gift__spec dd {
	min-width: 0;
	color: var(--bgr-text, #282421);
	font-weight: 650;
	overflow-wrap: anywhere;
}

@media (max-width: 640px) {
	.bgr-single-gift__specs {
		margin-bottom: 16px;
	}
}
