:root{
	--rf-navy:#22365c;
	--rf-navy-soft:#314a70;
	--rf-copper:#a97855;
	--rf-bg:#f5f6f8;
	--rf-card:#fff;
	--rf-ink:#27384f;
	--rf-muted:#69727d;
	--rf-line:#d9dee5;
	--rf-line-soft:#e9e6e1;
	--rf-selected:#f5f7fa;
}

body.postid-380.rf-master-configurator-page .summary.entry-summary>.price.rf-product-price-context{
	font-size:16px!important;
	font-weight:600!important;
	line-height:1.4!important;
	color:var(--rf-copper)!important;
	margin:.2rem 0 .8rem!important;
}
body.postid-380.rf-master-configurator-page .rf-product-intro p{
	max-width:62ch;
	color:#4f5965;
	line-height:1.62;
}

body.postid-380 form.variations_form.rf-master-configurator-active .rf-native-variation-row,
body.postid-380 form.variations_form.rf-master-configurator-active .rf-legacy-premium-ui{
	display:none!important;
}

body.postid-380 form.variations_form.rf-master-configurator-active table.variations{
	margin-bottom:0!important;
}

.rf-configurator{
	margin:1rem 0 .8rem;
	border:1px solid #d7dce3;
	border-radius:12px;
	background:var(--rf-card);
	box-shadow:0 8px 26px rgba(34,54,92,.055);
	overflow:hidden;
	color:var(--rf-ink);
}
.rf-configurator__section{
	padding:20px 22px;
	border-bottom:1px solid var(--rf-line-soft);
}
.rf-section-head{margin:0 0 12px}
.rf-section-head--split{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.rf-section-head h3,.rf-booking-summary h3{
	margin:0!important;
	font-family:inherit;
	font-size:16px!important;
	font-weight:700!important;
	line-height:1.3!important;
	color:var(--rf-ink)!important;
}
.rf-section-head p{
	margin:4px 0 0!important;
	font-size:12.5px!important;
	line-height:1.45!important;
	color:var(--rf-muted)!important;
}
.rf-compare-link,.rf-photo-link{
	color:#385c8b!important;
	font-size:12.5px!important;
	font-weight:650!important;
	text-decoration:none!important;
	white-space:nowrap;
}
.rf-compare-link:hover,.rf-photo-link:hover{text-decoration:underline!important;text-underline-offset:3px}

.rf-choice-grid{display:grid;gap:8px}
.rf-choice-grid--purchase{grid-template-columns:repeat(3,minmax(0,1fr))}
.rf-choice-grid--storage{grid-template-columns:repeat(3,minmax(0,1fr))}
.rf-choice-grid--delivery{grid-template-columns:repeat(2,minmax(0,1fr))}
body.postid-380 form.variations_form button.rf-choice{
	position:relative;
	display:flex!important;
	align-items:center!important;
	justify-content:flex-start!important;
	gap:10px!important;
	width:100%!important;
	min-width:0!important;
	min-height:48px!important;
	margin:0!important;
	padding:11px 12px!important;
	border:1px solid #cfd5dd!important;
	border-radius:8px!important;
	background:#fff!important;
	color:var(--rf-ink)!important;
	box-shadow:none!important;
	font:inherit!important;
	text-align:left!important;
	text-transform:none!important;
	letter-spacing:normal!important;
	cursor:pointer!important;
	transition:border-color .16s ease,background .16s ease,box-shadow .16s ease!important;
}
body.postid-380 form.variations_form button.rf-choice:hover{border-color:#aeb9c6!important}
body.postid-380 form.variations_form button.rf-choice.is-unavailable{opacity:.45!important;cursor:not-allowed!important;background:#f7f8f9!important}
body.postid-380 form.variations_form button.rf-choice.is-selected{
	border-color:var(--rf-navy)!important;
	background:var(--rf-selected)!important;
	box-shadow:inset 0 0 0 1px rgba(34,54,92,.12)!important;
}
body.postid-380 form.variations_form button.rf-choice:focus-visible{outline:2px solid var(--rf-navy)!important;outline-offset:2px!important}
.rf-choice__title{display:block;font-size:13.5px;font-weight:700;line-height:1.25}
.rf-choice__meta{display:block;margin-top:2px;font-size:11px;font-weight:600;color:var(--rf-copper);line-height:1.2}
.rf-choice__copy{display:block;min-width:0}
.rf-choice__check{
	position:absolute;right:9px;top:9px;
	display:grid;width:18px;height:18px;place-items:center;
	border:1px solid #bdc6d0;border-radius:50%;
	background:#fff;color:transparent;font-size:11px;font-weight:800;
}
.rf-choice.is-selected .rf-choice__check{border-color:var(--rf-navy);background:var(--rf-navy);color:#fff}
.rf-choice--simple{justify-content:center!important;text-align:center!important;padding-right:32px!important}
.rf-choice--storage{
	min-height:118px!important;
	padding:12px 30px 11px 10px!important;
	flex-direction:column!important;
	justify-content:center!important;
	text-align:center!important;
	gap:7px!important;
}
.rf-choice--storage .rf-choice__copy{width:100%;text-align:center}
.rf-choice--storage .rf-choice__title{white-space:normal;overflow-wrap:anywhere}
.rf-choice__visual{
	flex:0 0 52px;width:52px;height:52px;display:grid;place-items:center;
	border-radius:7px;background:#f3f1ed;overflow:hidden;
}
.rf-choice__visual img{width:100%;height:100%;object-fit:cover;display:block}
.rf-choice__visual:not(.has-image)::before{content:'□';font-size:24px;color:#9b8c7d}
.rf-choice__visual--carrier:not(.has-image)::before{content:'▱'}
.rf-choice__visual--heirloom:not(.has-image)::before{content:'◇'}
.rf-choice--delivery{padding-right:34px!important;min-height:58px!important}
.rf-delivery-help{margin:8px 2px 0!important;font-size:12px!important;line-height:1.45!important;color:var(--rf-muted)!important}

.rf-configurator__secondary{border-bottom:1px solid var(--rf-line-soft)}
body.postid-380 form.variations_form .rf-configurator__secondary .refinery-wedding-dress-count{
	display:flex;
	margin:0!important;
	padding:14px 22px!important;
	border-bottom:1px solid var(--rf-line-soft)!important;
}
body.postid-380 form.variations_form .rf-configurator__secondary .refinery-wedding-extras{
	margin:0!important;
	padding:0 22px!important;
	border-top:0!important;
	border-bottom:0!important;
}
body.postid-380 form.variations_form .rf-configurator__secondary button.refinery-wedding-extras__summary{
	padding:14px 0!important;
}
body.postid-380 form.variations_form .rf-configurator__secondary .refinery-dress-two{
	margin:0 22px 14px!important;
}
body.postid-380 form.variations_form .rf-configurator__secondary .refinery-heirloom-style{}

body.postid-380 form.variations_form .rf-configurator .refinery-heirloom-style{
	margin:12px 0 0!important;
	padding:12px 14px!important;
	border-left:2px solid var(--rf-copper)!important;
	background:#faf8f5!important;
	border-radius:7px!important;
}

.rf-booking-summary{margin:0;padding:18px 22px;background:#fbfaf8;border-bottom:1px solid var(--rf-line-soft)}
.rf-booking-summary h3{margin-bottom:9px!important}
.rf-booking-summary__row{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:4px 0;font-size:12.5px;line-height:1.4;color:var(--rf-muted)}
.rf-booking-summary__row strong{max-width:58%;color:var(--rf-ink);font-weight:650;text-align:right}
.rf-booking-summary__total{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-top:9px;padding-top:10px;border-top:1px solid #d8d3cb;color:var(--rf-ink)}
.rf-booking-summary__total span{font-size:14px;font-weight:700}
.rf-booking-summary__total strong{font-size:24px;line-height:1.1}
.rf-reassurance{padding:12px 22px 16px;text-align:left;background:#fff}
.rf-reassurance__item{display:grid;grid-template-columns:80px minmax(0,1fr);gap:12px;align-items:start;padding:6px 0}
.rf-reassurance__item + .rf-reassurance__item{border-top:1px solid #eeeae4}
.rf-reassurance__label{padding-top:1px;color:var(--rf-copper);font-size:9.5px;font-weight:750;line-height:1.35;letter-spacing:.075em;text-transform:uppercase}
.rf-reassurance__copy{color:var(--rf-muted);font-size:11.5px;line-height:1.45}
.rf-reassurance__help{display:inline-block;margin-top:8px;padding-top:8px;border-top:1px solid #eeeae4;white-space:normal}

.rf-configurator__cta{padding:0 22px 20px;background:#fff}
body.postid-380 form.variations_form.rf-master-configurator-active .rf-configurator__cta .single_add_to_cart_button{
	width:100%!important;
	min-height:50px!important;
	margin:0!important;
	border-radius:7px!important;
	background:var(--rf-navy)!important;
	border-color:var(--rf-navy)!important;
	color:#fff!important;
	font-size:15px!important;
	font-weight:700!important;
	text-transform:none!important;
	letter-spacing:normal!important;
}
body.postid-380 form.variations_form.rf-master-configurator-active .rf-configurator__cta .single_add_to_cart_button:hover{background:#182b4b!important;border-color:#182b4b!important}
body.postid-380.rf-master-configurator-page .elementor-element-e6476ad8{display:none!important}

/* 0.4.7 — Premium Wedding desktop composition. The existing Woo form, native
 * selects, Dress 2/extras runtime, trusted Total source and native submit button
 * remain inside the same variations_form. This is presentation-only grouping. */
@media (min-width:1024px){
	.rf-configurator.rf-configurator--premium{
		display:grid;
		grid-template-columns:minmax(0,1.857fr) minmax(340px,1fr);
		align-items:start;
	}
	.rf-configurator--premium .rf-configurator__controls{
		min-width:0;
		border-right:1px solid var(--rf-line-soft);
	}
	.rf-configurator--premium .rf-configurator__controls > .rf-configurator__section:last-child{border-bottom:0}
	.rf-configurator--premium .rf-configurator__aside{
		min-width:0;
		margin:16px;
		border:1px solid #d7dce3;
		border-radius:10px;
		background:#fff;
		box-shadow:0 5px 18px rgba(34,54,92,.055);
		overflow:hidden;
	}
	.rf-configurator--premium .rf-configurator__aside .rf-booking-summary{padding:18px 18px 16px}
	.rf-configurator--premium .rf-configurator__aside .rf-reassurance{padding:12px 18px 15px}
	.rf-configurator--premium .rf-configurator__aside .rf-photo-link{display:block;max-width:100%;white-space:normal;overflow-wrap:anywhere}
	.rf-configurator--premium .rf-configurator__aside .rf-configurator__cta{padding:0 18px 18px}
}

@media (max-width:1023px){
	.rf-configurator__controls,.rf-configurator__aside{min-width:0}
	.rf-configurator--premium .rf-configurator__aside{margin:0;border:0;border-radius:0;box-shadow:none;overflow:visible}
}

@media (max-width:767px){
	.rf-configurator{margin:.75rem 0 .7rem;border-radius:10px}
	.rf-configurator__section{padding:16px 15px}
	.rf-section-head--split{gap:8px}
	.rf-choice-grid--purchase,.rf-choice-grid--storage,.rf-choice-grid--delivery{grid-template-columns:1fr}
	body.postid-380 form.variations_form button.rf-choice{min-height:52px!important;padding:11px 12px!important}
	body.postid-380 form.variations_form button.rf-choice--simple{justify-content:flex-start!important;text-align:left!important}
	body.postid-380 form.variations_form button.rf-choice--storage{
		min-height:68px!important;
		padding:10px 34px 10px 11px!important;
		flex-direction:row!important;
		justify-content:flex-start!important;
		text-align:left!important;
		gap:10px!important;
	}
	.rf-choice--storage .rf-choice__copy{width:auto;text-align:left}
	.rf-choice__visual{flex-basis:42px;width:42px;height:42px}
	.rf-configurator__cta{padding:0 15px 15px}
	body.postid-380 form.variations_form .rf-configurator__secondary .refinery-wedding-dress-count{padding:13px 15px!important}
	body.postid-380 form.variations_form .rf-configurator__secondary .refinery-wedding-extras{padding:0 15px!important}
	body.postid-380 form.variations_form .rf-configurator__secondary .refinery-dress-two{margin:0 15px 13px!important}
	.rf-booking-summary{padding:16px 15px}
	.rf-reassurance{padding:11px 15px 14px}
	.rf-reassurance__item{grid-template-columns:80px minmax(0,1fr);gap:12px;padding:6px 0}
	.rf-reassurance__label{font-size:9px}
	.rf-reassurance__copy{font-size:11.25px}
	.rf-booking-summary__row strong{max-width:60%}
	.rf-booking-summary__total strong{font-size:23px}
}

@media (max-width:390px){
	.rf-section-head--split{display:block}
	.rf-compare-link{display:inline-block;margin-top:7px}
	.rf-choice__title{font-size:13px}
	.rf-booking-summary__row{font-size:12px}
}

/* 0.1.3 — Dress 2 uses the same master selector language while leaving the
 * Checkout & Consent selects/variation resolver as the data authority. */
body.postid-380 form.variations_form .rf-configurator__secondary .refinery-wedding-dress-count__label{
	color:var(--rf-ink)!important;
	font-weight:650!important;
}
body.postid-380 form.variations_form .rf-configurator__secondary .refinery-dress-two{
	padding:18px 18px 16px!important;
	background:#fbfaf8!important;
	border-color:#ddd8d0!important;
}
body.postid-380 form.variations_form .rf-configurator__secondary .refinery-dress-two .rf-dress2-title{
	margin:0!important;
	font-size:18px!important;
	font-weight:700!important;
	line-height:1.25!important;
	color:var(--rf-ink)!important;
}
.rf-dress2-intro{
	margin:4px 0 14px!important;
	font-size:12.5px!important;
	line-height:1.45!important;
	color:var(--rf-muted)!important;
}
.rf-dress2-group{margin:0 0 16px}
.rf-dress2-group:last-child{margin-bottom:4px}
.rf-dress2-group h4{
	margin:0 0 8px!important;
	font-family:inherit!important;
	font-size:13.5px!important;
	font-weight:700!important;
	line-height:1.3!important;
	color:var(--rf-ink)!important;
}
.rf-choice-grid--dress2-purchase,.rf-choice-grid--dress2-storage{grid-template-columns:repeat(3,minmax(0,1fr))}
body.postid-380 form.variations_form button.rf-choice--dress2,
body.postid-380 form.variations_form button.rf-choice--dress2-storage{
	min-height:54px!important;
	padding:10px 30px 10px 10px!important;
	justify-content:center!important;
	text-align:center!important;
}
body.postid-380 form.variations_form button.rf-choice--dress2-storage .rf-choice__copy{width:100%;text-align:center}
body.postid-380 form.variations_form .rf-dress2-native-row{display:none!important}
body.postid-380 form.variations_form .refinery-dress-two .refinery-dress2-clear-wrap{
	margin:3px 0 10px!important;
	text-align:right;
}
body.postid-380 form.variations_form .refinery-dress-two .refinery-dress2-clear{
	font-size:12px!important;
	font-weight:600!important;
	color:#385c8b!important;
}
body.postid-380 form.variations_form .refinery-dress-two .refinery-dress2-price,
body.postid-380 form.variations_form .refinery-dress-two .refinery-two-dress-total{
	font-size:12.5px!important;
	color:var(--rf-muted)!important;
}

@media (max-width:767px){
	body.postid-380 form.variations_form .rf-configurator__secondary .refinery-dress-two{
		padding:15px 13px 14px!important;
	}
	.rf-choice-grid--dress2-purchase,.rf-choice-grid--dress2-storage{grid-template-columns:1fr}
	body.postid-380 form.variations_form button.rf-choice--dress2,
	body.postid-380 form.variations_form button.rf-choice--dress2-storage{
		min-height:52px!important;
		justify-content:flex-start!important;
		text-align:left!important;
		padding:10px 34px 10px 12px!important;
	}
	body.postid-380 form.variations_form button.rf-choice--dress2-storage .rf-choice__copy{width:auto;text-align:left}
}

/* 0.1.5 — Dress 2 compact desktop polish.
 * Keep the selection indicator absolutely positioned so the card's content
 * gets the full usable width. Labels stay on one line at normal Product 380
 * desktop/tablet widths, matching the primary configurator more closely. */
body.postid-380 form.variations_form button.rf-choice--dress2,
body.postid-380 form.variations_form button.rf-choice--dress2-storage{
	position:relative!important;
	display:flex!important;
	align-items:center!important;
	justify-content:center!important;
	min-height:62px!important;
	padding:10px 34px 10px 12px!important;
	text-align:center!important;
}
body.postid-380 form.variations_form button.rf-choice--dress2 .rf-choice__title,
body.postid-380 form.variations_form button.rf-choice--dress2-storage .rf-choice__title{
	min-width:0!important;
	max-width:100%!important;
	font-size:13px!important;
	line-height:1.2!important;
	white-space:nowrap!important;
	word-break:normal!important;
	overflow:visible!important;
	text-overflow:clip!important;
}
body.postid-380 form.variations_form button.rf-choice--dress2 .rf-choice__check,
body.postid-380 form.variations_form button.rf-choice--dress2-storage .rf-choice__check{
	position:absolute!important;
	right:9px!important;
	top:9px!important;
	margin:0!important;
}
body.postid-380 form.variations_form button.rf-choice--dress2-storage .rf-choice__copy{
	width:100%!important;
	min-width:0!important;
	padding:0!important;
	text-align:center!important;
}
body.postid-380 form.variations_form button.rf-choice--dress2-storage .rf-choice__meta{
	font-size:11px!important;
	line-height:1.2!important;
}

@media (max-width:767px){
	body.postid-380 form.variations_form button.rf-choice--dress2,
	body.postid-380 form.variations_form button.rf-choice--dress2-storage{
		min-height:54px!important;
		justify-content:flex-start!important;
		padding:10px 34px 10px 12px!important;
		text-align:left!important;
	}
	body.postid-380 form.variations_form button.rf-choice--dress2 .rf-choice__title,
	body.postid-380 form.variations_form button.rf-choice--dress2-storage .rf-choice__title{
		font-size:13.5px!important;
		white-space:normal!important;
	}
	body.postid-380 form.variations_form button.rf-choice--dress2-storage .rf-choice__copy{
		text-align:left!important;
	}
}


/* 0.1.6 — Dress 2 finishing/storage collision fix.
 * The storage label gets a deliberately protected text area so it can never
 * run underneath the selection indicator. Longer labels wrap to two balanced
 * lines instead of clipping; purchase-price cards remain unchanged. */
body.postid-380 form.variations_form button.rf-choice--dress2-storage{
	min-height:72px!important;
	padding:10px 38px 10px 12px!important;
}
body.postid-380 form.variations_form button.rf-choice--dress2-storage .rf-choice__copy{
	box-sizing:border-box!important;
	width:100%!important;
	min-width:0!important;
	padding:0 8px!important;
	text-align:center!important;
}
body.postid-380 form.variations_form button.rf-choice--dress2-storage .rf-choice__title{
	display:block!important;
	max-width:112px!important;
	margin:0 auto!important;
	font-size:13px!important;
	line-height:1.18!important;
	white-space:normal!important;
	word-break:normal!important;
	overflow-wrap:normal!important;
}
body.postid-380 form.variations_form button.rf-choice--dress2-storage .rf-choice__meta{
	margin-top:4px!important;
}
@media (max-width:767px){
	body.postid-380 form.variations_form button.rf-choice--dress2-storage{
		min-height:56px!important;
		padding:10px 38px 10px 12px!important;
	}
	body.postid-380 form.variations_form button.rf-choice--dress2-storage .rf-choice__copy{
		padding:0!important;
		text-align:left!important;
	}
	body.postid-380 form.variations_form button.rf-choice--dress2-storage .rf-choice__title{
		max-width:none!important;
		margin:0!important;
		font-size:13.5px!important;
		white-space:normal!important;
	}
}

/* 0.1.7 — Bridal extras presentation.
 * The existing Checkout & Consent inputs, steppers, limits, prices and cart
 * handling remain authoritative. This layer only turns the open extras panel
 * into the same calm card language as the master configurator. */
body.postid-380 form.variations_form.rf-master-configurator-active .rf-configurator__secondary .refinery-wedding-extras__panel{
	padding:0 0 16px!important;
}
body.postid-380 form.variations_form.rf-master-configurator-active .rf-configurator__secondary .refinery-wedding-extras__grid{
	display:grid!important;
	grid-template-columns:repeat(2,minmax(0,1fr))!important;
	gap:8px!important;
	padding:12px 0 0!important;
	border-top:1px solid var(--rf-line-soft)!important;
}
body.postid-380 form.variations_form.rf-master-configurator-active .rf-configurator__secondary .refinery-wedding-extra-card{
	box-sizing:border-box!important;
	display:flex!important;
	align-items:center!important;
	justify-content:space-between!important;
	gap:12px!important;
	min-width:0!important;
	min-height:72px!important;
	margin:0!important;
	padding:12px 12px!important;
	border:1px solid #d5dae1!important;
	border-radius:8px!important;
	background:#fff!important;
	transition:border-color .16s ease,background .16s ease,box-shadow .16s ease!important;
}
body.postid-380 form.variations_form.rf-master-configurator-active .rf-configurator__secondary .refinery-wedding-extra-card.rf-extra-selected{
	border-color:var(--rf-navy)!important;
	background:var(--rf-selected)!important;
	box-shadow:inset 0 0 0 1px rgba(34,54,92,.10)!important;
}
body.postid-380 form.variations_form.rf-master-configurator-active .rf-configurator__secondary .refinery-wedding-extra-card__copy{
	min-width:0!important;
	gap:3px!important;
}
body.postid-380 form.variations_form.rf-master-configurator-active .rf-configurator__secondary .refinery-wedding-extra-card__copy strong{
	font-size:13px!important;
	font-weight:700!important;
	line-height:1.25!important;
	color:var(--rf-ink)!important;
}
body.postid-380 form.variations_form.rf-master-configurator-active .rf-configurator__secondary .refinery-wedding-extra-card__copy span,
body.postid-380 form.variations_form.rf-master-configurator-active .rf-configurator__secondary .refinery-suit-option span{
	font-size:11px!important;
	line-height:1.3!important;
	color:var(--rf-muted)!important;
}
body.postid-380 form.variations_form.rf-master-configurator-active .rf-configurator__secondary .refinery-extra-stepper{
	border-color:#cbd2da!important;
	border-radius:7px!important;
	box-shadow:none!important;
}
body.postid-380 form.variations_form.rf-master-configurator-active .rf-configurator__secondary .refinery-extra-stepper button{
	width:30px!important;
	min-width:30px!important;
	height:30px!important;
	min-height:30px!important;
	background:#f7f8fa!important;
	color:var(--rf-navy)!important;
	font-size:16px!important;
	font-weight:650!important;
}
body.postid-380 form.variations_form.rf-master-configurator-active .rf-configurator__secondary .refinery-extra-stepper input{
	width:31px!important;
	min-width:31px!important;
	height:30px!important;
	min-height:30px!important;
	font-size:12px!important;
	font-weight:650!important;
	color:var(--rf-ink)!important;
}
body.postid-380 form.variations_form.rf-master-configurator-active .rf-configurator__secondary .refinery-wedding-extra-card--suits{
	grid-column:1 / -1!important;
	display:block!important;
	min-height:0!important;
	padding:0 12px!important;
}
body.postid-380 form.variations_form.rf-master-configurator-active .rf-configurator__secondary button.refinery-suit-disclosure{
	padding:11px 0!important;
}
body.postid-380 form.variations_form.rf-master-configurator-active .rf-configurator__secondary .refinery-suit-disclosure > span:first-child strong{
	font-size:13px!important;
	font-weight:700!important;
	color:var(--rf-ink)!important;
}
body.postid-380 form.variations_form.rf-master-configurator-active .rf-configurator__secondary .refinery-suit-disclosure small{
	margin-top:2px!important;
	font-size:11px!important;
	line-height:1.25!important;
	color:var(--rf-muted)!important;
}
body.postid-380 form.variations_form.rf-master-configurator-active .rf-configurator__secondary .refinery-suit-options{
	display:grid!important;
	grid-template-columns:repeat(2,minmax(0,1fr))!important;
	gap:8px!important;
	padding:0 0 12px!important;
	border-top:1px solid var(--rf-line-soft)!important;
}
body.postid-380 form.variations_form.rf-master-configurator-active .rf-configurator__secondary .refinery-suit-options[hidden]{display:none!important;}
body.postid-380 form.variations_form.rf-master-configurator-active .rf-configurator__secondary .refinery-suit-option{
	min-width:0!important;
	margin:8px 0 0!important;
	padding:10px!important;
	border:1px solid #dde1e6!important;
	border-radius:7px!important;
	background:#fff!important;
}
body.postid-380 form.variations_form.rf-master-configurator-active .rf-configurator__secondary .refinery-suit-option:last-child{
	border-bottom:1px solid #dde1e6!important;
}
body.postid-380 form.variations_form.rf-master-configurator-active .rf-configurator__secondary .refinery-suit-option > div:first-child strong{
	font-size:12.5px!important;
	font-weight:700!important;
	color:var(--rf-ink)!important;
}
body.postid-380 form.variations_form.rf-master-configurator-active .rf-configurator__secondary .refinery-wedding-extras__summary-copy strong{
	font-size:14px!important;
	font-weight:700!important;
	color:var(--rf-ink)!important;
}
body.postid-380 form.variations_form.rf-master-configurator-active .rf-configurator__secondary .refinery-wedding-extras__summary-copy span{
	font-size:11.5px!important;
	line-height:1.35!important;
	color:var(--rf-muted)!important;
}

@media (max-width:767px){
	body.postid-380 form.variations_form.rf-master-configurator-active .rf-configurator__secondary .refinery-wedding-extras__grid{
		grid-template-columns:1fr!important;
		gap:7px!important;
	}
	body.postid-380 form.variations_form.rf-master-configurator-active .rf-configurator__secondary .refinery-wedding-extra-card{
		min-height:64px!important;
		padding:10px 11px!important;
	}
	body.postid-380 form.variations_form.rf-master-configurator-active .rf-configurator__secondary .refinery-wedding-extra-card--suits{
		grid-column:auto!important;
		padding:0 11px!important;
	}
	body.postid-380 form.variations_form.rf-master-configurator-active .rf-configurator__secondary .refinery-suit-options{
		grid-template-columns:1fr!important;
		gap:0!important;
	}
	body.postid-380 form.variations_form.rf-master-configurator-active .rf-configurator__secondary .refinery-suit-option{
		margin:7px 0 0!important;
	}
}


/* 0.1.8 — Bridal extras copy polish.
 * Shorter customer-facing labels reduce awkward wrapping at the live Product
 * 380 column width. Suit's nested disclosure says Hide/Choose rather than a
 * second Done control. Price display drops redundant .00 only; pricing and
 * input values remain owned by Checkout & Consent. */
body.postid-380 form.variations_form.rf-master-configurator-active .rf-configurator__secondary .refinery-wedding-extra-card__copy strong{
	max-width:18ch!important;
}
body.postid-380 form.variations_form.rf-master-configurator-active .rf-configurator__secondary .refinery-suit-option > div:first-child strong{
	line-height:1.25!important;
}

/* v0.2.0 — basket presentation only. Underlying WooCommerce line items remain unchanged. */
body.woocommerce-cart .rf-wedding-extra-cart-item {
	background: rgba(250, 248, 244, .72);
}
body.woocommerce-cart .rf-wedding-extra-cart-item td.product-name {
	position: relative;
}
body.woocommerce-cart .rf-cart-line-type {
	display: block;
	margin: 0 0 4px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: #a97855;
}
body.woocommerce-cart .rf-cart-extra-name {
	display: inline-block;
	font: inherit;
	font-weight: 600;
	color: #22365c;
}
body.woocommerce-cart .rf-wedding-extra-cart-item td:first-child {
	box-shadow: inset 3px 0 0 rgba(169,120,85,.55);
}

/* v0.2.2 — WooCommerce Cart Block presentation.
 * Keeps each extra as its genuine WooCommerce line item but visually groups
 * Wedding extras beneath Product 380 and removes catalogue-style clutter. */
body.woocommerce-cart.rf-cart-has-wedding .wc-block-cart-items__row.rf-wedding-extra-cart-item > td{
	background:#fbfaf7!important;
	padding-top:16px!important;
	padding-bottom:16px!important;
}
body.woocommerce-cart.rf-cart-has-wedding .wc-block-cart-items__row.rf-wedding-extra-cart-item .wc-block-cart-item__image{
	width:72px!important;
	padding-left:18px!important;
}
body.woocommerce-cart.rf-cart-has-wedding .wc-block-cart-items__row.rf-wedding-extra-cart-item .wc-block-cart-item__image img{
	width:56px!important;
	height:56px!important;
	object-fit:cover!important;
	border-radius:7px!important;
}
body.woocommerce-cart.rf-cart-has-wedding .wc-block-cart-items__row.rf-wedding-extra-cart-item .wc-block-cart-item__product{
	box-shadow:inset 3px 0 0 rgba(169,120,85,.48);
	padding-left:18px!important;
}
body.woocommerce-cart.rf-cart-has-wedding .wc-block-cart-items__row.rf-wedding-extra-cart-item .wc-block-components-product-name{
	font-size:18px!important;
	line-height:1.25!important;
	font-weight:650!important;
	color:#22365c!important;
	text-decoration:none!important;
}
body.woocommerce-cart.rf-cart-has-wedding .wc-block-cart-items__row.rf-wedding-extra-cart-item .rf-cart-line-type{
	display:block!important;
	margin:0 0 4px!important;
	font-size:10px!important;
	font-weight:750!important;
	letter-spacing:.10em!important;
	text-transform:uppercase!important;
	color:#a97855!important;
}
body.woocommerce-cart.rf-cart-has-wedding .wc-block-cart-items__row.rf-wedding-extra-cart-item .wc-block-components-product-metadata,
body.woocommerce-cart.rf-cart-has-wedding .wc-block-cart-items__row.rf-wedding-extra-cart-item .wc-block-components-product-metadata__description,
body.woocommerce-cart.rf-cart-has-wedding .wc-block-cart-items__row.rf-wedding-extra-cart-item .wc-block-components-product-details{
	display:none!important;
}
body.woocommerce-cart.rf-cart-has-wedding .wc-block-cart-items__row.rf-wedding-extra-cart-item .wc-block-cart-item__quantity{
	margin-top:10px!important;
}
body.woocommerce-cart.rf-cart-has-wedding .wc-block-cart-items__row.rf-wedding-extra-cart-item .wc-block-cart-item__total{
	font-size:16px!important;
	font-weight:650!important;
	color:#22365c!important;
	vertical-align:middle!important;
}
body.woocommerce-cart .rf-wedding-extras-heading-row > td{
	padding:22px 18px 10px!important;
	border:0!important;
	background:transparent!important;
}
body.woocommerce-cart .rf-wedding-extras-heading-row span{
	display:block;
	font-size:19px;
	line-height:1.2;
	font-weight:700;
	color:#22365c;
}
body.woocommerce-cart .rf-wedding-extras-heading-row small{
	display:block;
	margin-top:3px;
	font-size:13px;
	line-height:1.35;
	color:#667080;
}
body.woocommerce-cart .rf-wedding-extras-heading-row--div{
	padding:22px 18px 10px;
}
body.woocommerce-cart.rf-cart-is-empty .rf-empty-cart-new-in-store,
body.woocommerce-cart.rf-cart-is-empty .rf-empty-cart-recommendations{
	display:none!important;
}

@media (max-width: 700px){
	body.woocommerce-cart.rf-cart-has-wedding .wc-block-cart-items__row.rf-wedding-extra-cart-item > td{
		padding-top:12px!important;
		padding-bottom:12px!important;
	}
	body.woocommerce-cart.rf-cart-has-wedding .wc-block-cart-items__row.rf-wedding-extra-cart-item .wc-block-cart-item__image{
		width:54px!important;
		padding-left:10px!important;
	}
	body.woocommerce-cart.rf-cart-has-wedding .wc-block-cart-items__row.rf-wedding-extra-cart-item .wc-block-cart-item__image img{
		width:44px!important;
		height:44px!important;
	}
	body.woocommerce-cart.rf-cart-has-wedding .wc-block-cart-items__row.rf-wedding-extra-cart-item .wc-block-cart-item__product{
		padding-left:12px!important;
	}
	body.woocommerce-cart.rf-cart-has-wedding .wc-block-cart-items__row.rf-wedding-extra-cart-item .wc-block-components-product-name{
		font-size:16px!important;
	}
}


/* v0.2.4 — Cart Block Wedding-extra price alignment.
 * Keep the WooCommerce total cell as the real price authority, but give every
 * Wedding-extra row one consistent narrow price column and align the amount
 * with the customer-facing item title rather than the small "Wedding extra"
 * eyebrow. No prices, quantities or cart data are changed. */
@media (min-width:701px){
	body.woocommerce-cart.rf-cart-has-wedding .wc-block-cart-items__row.rf-wedding-extra-cart-item .wc-block-cart-item__total{
		box-sizing:border-box!important;
		width:126px!important;
		min-width:126px!important;
		padding:42px 0 16px 14px!important;
		text-align:right!important;
		vertical-align:top!important;
	}
	body.woocommerce-cart.rf-cart-has-wedding .wc-block-cart-items__row.rf-wedding-extra-cart-item .wc-block-cart-item__total .wc-block-components-product-price,
	body.woocommerce-cart.rf-cart-has-wedding .wc-block-cart-items__row.rf-wedding-extra-cart-item .wc-block-cart-item__total .wc-block-components-product-price__value,
	body.woocommerce-cart.rf-cart-has-wedding .wc-block-cart-items__row.rf-wedding-extra-cart-item .wc-block-cart-item__total .price{
		display:block!important;
		width:100%!important;
		margin:0!important;
		text-align:right!important;
	}
}

@media (max-width:700px){
	body.woocommerce-cart.rf-cart-has-wedding .wc-block-cart-items__row.rf-wedding-extra-cart-item .wc-block-cart-item__total{
		text-align:right!important;
	}
}

/* 0.2.5 — Basket is a confirmation step, not a recommendation surface. */
body.woocommerce-cart .rf-cart-cross-sells,
body.woocommerce-cart .rf-cart-cross-sells-heading,
body.woocommerce-cart .cross-sells,
body.woocommerce-cart .wc-block-cart__cross-sells,
body.woocommerce-cart .wp-block-woocommerce-cart-cross-sells-block{
	display:none!important;
}


/* 0.2.6 — Cart recommendation-grid removal.
 * WooCommerce block themes may render the Product Collection separately from
 * its "You may be interested in" heading. JS marks those standalone Cart-page
 * recommendation collections; hide the collection itself as well as its label.
 * Product catalogue visibility is unchanged outside the Basket page. */
body.woocommerce-cart .rf-cart-recommendations{
	display:none!important;
}


/* =========================================================
   Re:Finery — Ski multi-item basket grouping (v0.4.3)
   Presentation only: Woo cart lines, prices, images, quantities and removal
   controls remain authoritative and independent.
   ========================================================= */
body.woocommerce-cart .rf-ski-booking-heading-row > td{
  padding:18px 0 12px!important;
  border-bottom:0!important;
}
body.woocommerce-cart .rf-ski-booking-heading{
  display:inline-block;
  color:#243b53!important;
  font-family:inherit;
  font-size:24px;
  font-weight:700;
  line-height:1.2;
  text-decoration:none!important;
}
body.woocommerce-cart .rf-ski-booking-heading-row--div{
  margin:0 0 12px;
  padding:18px 0 0;
}
body.woocommerce-cart .wc-block-cart-items__row.rf-ski-cart-item .wc-block-components-product-name{
  display:none!important;
}
body.woocommerce-cart .wc-block-cart-items__row.rf-ski-cart-item .wc-block-components-product-details__item .wc-block-components-product-details__name{
  display:none!important;
}
body.woocommerce-cart .wc-block-cart-items__row.rf-ski-cart-item .wc-block-components-product-details__item .wc-block-components-product-details__value{
  color:#243b53!important;
  font-size:17px;
  font-weight:600;
  line-height:1.35;
}
body.woocommerce-cart .wc-block-cart-items__row.rf-ski-cart-item .wc-block-components-product-metadata{
  margin-top:0!important;
}

@media (max-width:767px){
  body.woocommerce-cart .rf-ski-booking-heading-row > td{
    padding:14px 0 10px!important;
  }
  body.woocommerce-cart .rf-ski-booking-heading{
    font-size:21px;
  }
  body.woocommerce-cart .wc-block-cart-items__row.rf-ski-cart-item .wc-block-components-product-details__item .wc-block-components-product-details__value{
    font-size:16px;
  }
}


/* 0.4.4 — Basket-only lifecycle cleanup. */
body.woocommerce-cart .rf-internal-credit-notice{
  display:none!important;
}


/* =========================================================
   Re:Finery — Leather & Suede basket grouping (v0.4.5)
   Presentation only: genuine Woo cart lines, prices, Manager-resolved images,
   quantities and removal controls remain authoritative and independent.
   ========================================================= */
body.woocommerce-cart .rf-leather-booking-heading-row > td{
  padding:18px 0 12px!important;
  border-bottom:0!important;
}
body.woocommerce-cart .rf-leather-booking-heading{
  display:inline-block;
  color:#243b53!important;
  font-family:inherit;
  font-size:24px;
  font-weight:700;
  line-height:1.2;
  text-decoration:none!important;
}
body.woocommerce-cart .rf-leather-booking-heading-row--div{
  margin:0 0 12px;
  padding:18px 0 0;
}
body.woocommerce-cart .wc-block-cart-items__row.rf-leather-cart-item .wc-block-components-product-name{
  display:none!important;
}
body.woocommerce-cart .wc-block-cart-items__row.rf-leather-cart-item .wc-block-components-product-details__item .wc-block-components-product-details__name{
  display:none!important;
}
body.woocommerce-cart .wc-block-cart-items__row.rf-leather-cart-item .wc-block-components-product-details__item .wc-block-components-product-details__value{
  color:#243b53!important;
  font-size:17px;
  font-weight:600;
  line-height:1.35;
}
body.woocommerce-cart .wc-block-cart-items__row.rf-leather-cart-item .wc-block-components-product-metadata{
  margin-top:0!important;
}

@media (max-width:767px){
  body.woocommerce-cart .rf-leather-booking-heading-row > td{
    padding:14px 0 10px!important;
  }
  body.woocommerce-cart .rf-leather-booking-heading{
    font-size:21px;
  }
  body.woocommerce-cart .wc-block-cart-items__row.rf-leather-cart-item .wc-block-components-product-details__item .wc-block-components-product-details__value{
    font-size:16px;
  }
}


/* =========================================================
   v0.4.8 — Wedding Basket conversion presentation
   Presentation only. Woo Cart Block retains price, quantity,
   remove and checkout authority.
   ========================================================= */

@media (max-width:700px){
  /* Override the generic 96px mobile Cart grid only for Wedding extras. */
  body.woocommerce-cart.rf-cart-has-wedding
  .wc-block-cart-items__row.rf-wedding-extra-cart-item{
    display:grid!important;
    grid-template-columns:56px minmax(0,1fr) auto!important;
    grid-template-areas:"image product total"!important;
    align-items:start!important;
    column-gap:12px!important;
    padding:14px 0!important;
  }

  body.woocommerce-cart.rf-cart-has-wedding
  .wc-block-cart-items__row.rf-wedding-extra-cart-item
  .wc-block-cart-item__image{
    grid-area:image!important;
    width:56px!important;
    max-width:56px!important;
    padding:0!important;
  }

  body.woocommerce-cart.rf-cart-has-wedding
  .wc-block-cart-items__row.rf-wedding-extra-cart-item
  .wc-block-cart-item__image img{
    width:52px!important;
    height:52px!important;
    object-fit:cover!important;
    border-radius:7px!important;
  }

  body.woocommerce-cart.rf-cart-has-wedding
  .wc-block-cart-items__row.rf-wedding-extra-cart-item
  .wc-block-cart-item__product{
    grid-area:product!important;
    min-width:0!important;
    padding:0 0 0 10px!important;
    box-shadow:inset 3px 0 0 rgba(169,120,85,.42)!important;
  }

  body.woocommerce-cart.rf-cart-has-wedding
  .wc-block-cart-items__row.rf-wedding-extra-cart-item
  .wc-block-cart-item__total{
    display:block!important;
    grid-area:total!important;
    width:auto!important;
    min-width:62px!important;
    padding:22px 0 0 4px!important;
    text-align:right!important;
    white-space:nowrap!important;
  }

  body.woocommerce-cart.rf-cart-has-wedding
  .wc-block-cart-items__row.rf-wedding-extra-cart-item
  .wc-block-cart-item__quantity{
    margin-top:8px!important;
  }

  body.woocommerce-cart .rf-wedding-extras-heading-row > td,
  body.woocommerce-cart .rf-wedding-extras-heading-row--div{
    padding:18px 0 8px!important;
  }
}

.rf-wedding-sticky-checkout{display:none;}

@media (max-width:767px){
  body.woocommerce-cart.rf-cart-has-wedding.rf-has-sticky-checkout{
    padding-bottom:84px!important;
  }

  body.woocommerce-cart.rf-cart-has-wedding
  .rf-wedding-sticky-checkout{
    position:fixed;
    z-index:9997;
    left:0;
    right:0;
    bottom:0;
    display:flex;
    align-items:center;
    gap:12px;
    padding:10px 16px calc(10px + env(safe-area-inset-bottom));
    box-sizing:border-box;
    background:#fff;
    border-top:1px solid #d8dee3;
    box-shadow:0 -8px 24px rgba(44,62,80,.12);
  }

  .rf-wedding-sticky-checkout__total{
    flex:0 0 auto;
    min-width:78px;
    color:#2c3e50;
    line-height:1.05;
  }

  .rf-wedding-sticky-checkout__total strong{
    display:block;
    font-size:18px;
    font-weight:700;
  }

  .rf-wedding-sticky-checkout__total span{
    display:block;
    margin-top:3px;
    color:#687381;
    font-size:12px;
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:.04em;
  }

  .rf-wedding-sticky-checkout__button{
    flex:1 1 auto;
    min-height:50px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:12px 14px;
    box-sizing:border-box;
    border-radius:7px;
    background:#2c3e50;
    color:#fff!important;
    font-size:16px;
    font-weight:700;
    line-height:1.2;
    text-align:center;
    text-decoration:none!important;
  }

  .rf-wedding-sticky-checkout__button:hover,
  .rf-wedding-sticky-checkout__button:focus{
    background:#3b5e90;
    color:#fff!important;
  }
}

/* =========================================================
   v0.4.10 — Wedding Basket acceptance refinement
   Presentation only. Native Woo Cart Block metadata, totals,
   quantities, remove controls and checkout authority remain intact.
   ========================================================= */

/* Replace only the three recognised Product 380 variation rows with a
 * cleaner display summary. The original Woo metadata stays in the DOM and is
 * hidden only when cart-presentation.js has positively mapped every row. */
body.woocommerce-cart.rf-cart-has-wedding
.wc-block-cart-items__row.rf-wedding-main-cart-item.rf-wedding-main-has-summary
.wc-block-components-product-details{
  display:none!important;
}

body.woocommerce-cart.rf-cart-has-wedding
.wc-block-cart-items__row.rf-wedding-main-cart-item
.rf-wedding-main-summary{
  display:grid;
  grid-template-columns:1fr;
  gap:9px;
  margin:12px 0 4px;
}

body.woocommerce-cart.rf-cart-has-wedding
.wc-block-cart-items__row.rf-wedding-main-cart-item
.rf-wedding-main-summary__item{
  min-width:0;
}

body.woocommerce-cart.rf-cart-has-wedding
.wc-block-cart-items__row.rf-wedding-main-cart-item
.rf-wedding-main-summary__item span{
  display:block;
  margin:0 0 2px;
  color:#687381;
  font-size:13px;
  font-weight:700;
  line-height:1.25;
}

body.woocommerce-cart.rf-cart-has-wedding
.wc-block-cart-items__row.rf-wedding-main-cart-item
.rf-wedding-main-summary__item strong{
  display:block;
  color:#2c3e50;
  font-size:16px;
  font-weight:500;
  line-height:1.35;
  overflow-wrap:break-word;
  word-break:normal;
}

@media (max-width:700px){
  /* Keep Wedding-extra quantity controls useful but materially less dominant. */
  body.woocommerce-cart.rf-cart-has-wedding
  .wc-block-cart-items__row.rf-wedding-extra-cart-item
  .wc-block-components-quantity-selector{
    width:124px!important;
    min-width:124px!important;
    max-width:124px!important;
  }

  body.woocommerce-cart.rf-cart-has-wedding
  .wc-block-cart-items__row.rf-wedding-main-cart-item
  .rf-wedding-main-summary{
    gap:8px;
    margin-top:10px;
  }

  body.woocommerce-cart.rf-cart-has-wedding
  .wc-block-cart-items__row.rf-wedding-main-cart-item
  .rf-wedding-main-summary__item strong{
    font-size:15px;
  }
}

/* Basket-only transaction protection: the floating AI Engine window/launcher
 * must not overlap the sticky checkout control. This does not disable AI Engine
 * elsewhere and does not target embedded/non-window chat instances. */
body.woocommerce-cart .mwai-chatbot.mwai-window,
body.woocommerce-cart .mwai-chat.mwai-window,
body.woocommerce-cart [id^="mwai-chat-"].mwai-window{
  display:none!important;
}
