/* Native stock alerts and bundle contents. Keep form fields and AJAX behaviour intact. */
/* Native AJAX review replies, including forms inserted after page load. */
.page--product-details form[name="review_reply"] {
	background: linear-gradient(135deg, #fffdfc, #fbf3f1);
	border: 1px solid rgba(181, 138, 50, .25);
	border-radius: .625rem;
	box-sizing: border-box;
	color: #1f2527;
	display: flex;
	gap: .85rem;
	margin: 1rem 0 0;
	max-width: 100%;
	min-width: 0;
	padding: clamp(.75rem, 2vw, 1.1rem);
	width: 100%;
}

.page--product-details form[name="review_reply"] .form__row {
	flex: 0 0 100%;
	margin: 0 !important;
	min-width: 0;
	max-width: 100%;
}

.page--product-details form[name="review_reply"] .form-control {
	background-color: #fffdfc;
	border: 1px solid rgba(181, 138, 50, .4);
	border-radius: .375rem;
	color: #1f2527;
	font-family: "Questrial", sans-serif;
	font-size: 1rem;
	min-height: 3.25rem;
	min-width: 0;
	width: 100%;
}

.page--product-details form[name="review_reply"] textarea.form-control {
	height: auto;
	line-height: 1.5;
	min-height: 8rem;
	resize: vertical;
}

.page--product-details form[name="review_reply"] .form__label {
	color: #63696b;
	font-family: "Questrial", sans-serif;
	font-size: 1rem;
}

.page--product-details form[name="review_reply"] .form-control:focus {
	border-color: #b95769;
	box-shadow: 0 0 0 .15rem rgba(185, 87, 105, .14);
	outline: none;
}

.page--product-details form[name="review_reply"] .form__row--invalid .form-control,
.page--product-details form[name="review_reply"] .form-control.parsley-error {
	border-color: #a53245;
}

.page--product-details form[name="review_reply"] .parsley-errors-list {
	color: #a53245;
	font-family: "DM Sans", sans-serif;
	font-size: .8rem;
	line-height: 1.45;
	overflow-wrap: anywhere;
}

.page--product-details form[name="review_reply"] .form__buttons {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: .65rem;
	justify-content: flex-start;
	margin: .15rem 0 0;
}

.page--product-details form[name="review_reply"] .form__buttons > .btn {
	box-sizing: border-box;
	font-family: "Questrial", sans-serif;
	margin: 0 !important;
	min-height: 2.75rem;
	padding: .65rem 1.25rem !important;
}

.page--product-details form[name="review_reply"] button[type="submit"] {
	background: #b95769;
	border-color: #b95769;
	border-radius: .375rem;
	color: #fff;
	flex: 1 1 8rem;
}

.page--product-details form[name="review_reply"] button[type="submit"]:hover:not(:disabled) {
	background: #a8475a;
	border-color: #a8475a;
}

.page--product-details form[name="review_reply"] .btn-link {
	color: #63696b;
	text-underline-offset: .2em;
}

.page--product-details form[name="review_reply"] .btn:focus-visible {
	outline: 2px solid #b95769;
	outline-offset: 3px;
}

.page--product-details form[name="review_reply"] button:disabled {
	cursor: not-allowed;
	opacity: .55;
}

/* Match DOM order: bundle contents always follow the entire action group. */
.page--product-details .product-summary .product-summary__form {
	grid-template-areas:
		"variants"
		"stock"
		"variant-attributes"
		"user-fields"
		"gift-card"
		"subscriptions"
		"bogo"
		"free-shipping"
		"gift"
		"bulk"
		"sku"
		"ean"
		"messages"
		"availability"
		"quantity"
		"actions"
		"bundle" !important;
}

@media (max-width: 47.9375rem) {
	.page--product-details .product-summary .product-summary__form {
		grid-template-areas:
			"variants"
			"stock"
			"variant-attributes"
			"user-fields"
			"gift-card"
			"subscriptions"
			"bogo"
			"free-shipping"
			"gift"
			"bulk"
			"sku"
			"ean"
			"messages"
			"quantity"
			"availability"
			"actions"
			"bundle" !important;
	}
}

/* Free-shipping promotion: compact benefit card that matches the product UI. */
.page--product-details .product-summary__info--free-shipping {
box-sizing: border-box;
margin: .25rem 0 .75rem;
max-width: 100%;
min-width: 0;
width: 100%;
}

.page--product-details .free-shipping-format {
margin: 0;
}

.page--product-details .free-shipping-format__item {
align-items: center;
background: linear-gradient(135deg, rgba(255, 253, 252, .98), rgba(251, 243, 241, .98));
border: 1px solid rgba(181, 138, 50, .38);
border-radius: .625rem;
box-shadow: 0 .2rem .7rem rgba(31, 37, 39, .045);
box-sizing: border-box;
color: #1f2527;
display: flex;
font-family: "Questrial", sans-serif;
gap: .7rem;
margin: 0;
min-height: 3rem;
padding: .7rem .9rem;
width: 100%;
}

.page--product-details .free-shipping-format__item .icon {
color: #b58a32;
fill: none;
flex: 0 0 auto;
height: 1.35rem;
margin: 0;
stroke: currentColor;
width: 1.35rem;
}

.page--product-details .free-shipping-format__text {
font-size: .92rem;
font-weight: 400;
letter-spacing: .01em;
line-height: 1.35;
min-width: 0;
overflow-wrap: anywhere;
}

.page--product-details .product-summary .stock-alert,
.page--product-details .product-summary .bundle-format {
	background: linear-gradient(135deg, #fffdfc 0%, #fbf3f1 100%);
	border: 1px solid rgba(181, 138, 50, .25);
	border-radius: .75rem;
	box-sizing: border-box;
	color: #1f2527;
	margin: 1.25rem 0;
	max-width: 100%;
	min-width: 0;
	padding: clamp(1rem, 2vw, 1.5rem);
	width: 100%;
}

.page--product-details .product-summary .stock-alert form {
	margin: 0;
	min-width: 0;
}

.page--product-details .stock-alert .form__row--html {
	margin-bottom: 1rem;
}

.page--product-details .stock-alert [id$="__incentive"],
.page--product-details .bundle-format__title {
	color: #1f2527;
	font-family: "Questrial", sans-serif;
	font-size: 1.15rem;
	font-weight: 400;
	line-height: 1.4;
}

.page--product-details .stock-alert [id$="__incentive"] {
	border-left: 2px solid #b58a32;
	padding-left: .8rem;
}

.page--product-details .stock-alert .form__row--email {
	margin-bottom: .85rem;
	min-width: 0;
	width: 100%;
}

.page--product-details .stock-alert .form-control {
	background-color: #fffdfc;
	border-color: rgba(181, 138, 50, .45);
	border-radius: .375rem;
	color: #1f2527;
	font-family: "Questrial", sans-serif;
	font-size: 1rem;
	max-width: 100%;
	min-height: 3.25rem;
}

.page--product-details .stock-alert .form-control:focus {
	border-color: #b95769;
	box-shadow: 0 0 0 .15rem rgba(185, 87, 105, .14);
}

.page--product-details .stock-alert .form__label {
	color: #66585c;
	font-family: "DM Sans", sans-serif;
}

.page--product-details .stock-alert .form__toggle .form__label {
	font-size: .78rem;
	line-height: 1.5;
	margin: 0;
	min-width: 0;
	overflow-wrap: anywhere;
}

.page--product-details .stock-alert .form__toggle {
	align-items: start;
	display: grid;
	gap: .6rem;
	grid-template-columns: 1rem minmax(0, 1fr);
	padding-left: 0;
}

.page--product-details .stock-alert .form__toggle-input {
	border-color: #b58a32;
	cursor: pointer;
	float: none;
	margin: .2rem 0 0 !important;
}

.page--product-details .stock-alert .form__toggle-input:checked {
	background-color: #b95769;
	border-color: #b95769;
}

.page--product-details .stock-alert .form__toggle-input:focus-visible {
	outline: 2px solid #a8475a;
	outline-offset: 3px;
}

.page--product-details .stock-alert .form__buttons {
	margin: 1rem 0 0;
}

.page--product-details .stock-alert .form__buttons .btn-primary {
	background: #b95769 !important;
	border: 1px solid #b95769 !important;
	border-radius: .375rem !important;
	box-shadow: none !important;
	color: #fffdfc !important;
	font-family: "Questrial", sans-serif;
	font-size: 1rem;
	margin: 0;
	min-height: 3rem;
	padding: .75rem 1rem !important;
	white-space: normal;
	width: 100%;
}

.page--product-details .stock-alert .form__buttons .btn-primary:not(:disabled):hover {
	background: #a8475a !important;
	border-color: #a8475a !important;
}

.page--product-details .stock-alert .form__buttons .btn-primary:focus-visible {
	outline: 2px solid #a8475a;
	outline-offset: 3px;
}

.page--product-details .stock-alert .form__buttons .btn-primary:disabled {
	cursor: not-allowed;
	opacity: .5;
}

.page--product-details .stock-alert :is(.form__row--invalid .form-control, .form-control.is-invalid, .form-control.parsley-error) {
	border-color: #b8201b;
}

.page--product-details .stock-alert :is(.state-feedback, .form__invalid--feedback, .parsley-errors-list, .alert) {
	font-family: "DM Sans", sans-serif;
	font-size: .8rem;
	line-height: 1.5;
	overflow-wrap: anywhere;
}

.page--product-details .product-summary__info--bundle {
	margin: 0;
	max-width: 100%;
	min-width: 0;
}

.page--product-details .bundle-format__title {
	border-bottom: 1px solid rgba(181, 138, 50, .25);
	margin-bottom: .85rem;
	padding-bottom: .75rem;
}

.page--product-details .bundle-format .bundle-item {
	align-items: center;
	background: #fffdfc;
	border: 1px solid rgba(181, 138, 50, .18);
	border-radius: .5rem;
	display: grid;
	gap: .65rem .85rem;
	grid-template-columns: 4.5rem minmax(0, 1fr);
	max-width: 100%;
	min-width: 0;
	padding: .75rem;
}

.page--product-details .bundle-format .bundle-item + .bundle-item {
	margin-top: .6rem;
}

.page--product-details .bundle-bonus-format {
	margin-top: .75rem;
}

.page--product-details .bundle-format .bundle-item--bonus {
	background: linear-gradient(135deg, #fffdfc 0%, #fbf0f2 100%);
	border-color: rgba(185, 87, 105, .3);
}

.page--product-details .bundle-format .bundle-item__bonus-label {
	color: #923e50;
	font-family: "DM Sans", sans-serif;
	font-size: .68rem;
	font-weight: 700;
	letter-spacing: .08em;
	margin-bottom: .2rem;
	text-transform: uppercase;
}

.page--product-details .bundle-format .bundle-item__bonus-price {
	align-items: baseline;
	color: #a8475a;
	display: flex;
	font-family: "DM Sans", sans-serif;
	font-size: .78rem;
	font-weight: 700;
	gap: .45rem;
	letter-spacing: .08em;
	line-height: 1.2;
	text-transform: uppercase;
}

.page--product-details .bundle-format .bundle-item__bonus-regular-price {
	color: #8b7f82;
	font-size: .75rem;
	font-weight: 500;
	letter-spacing: 0;
	text-decoration-thickness: 1px;
}

.page--product-details .bundle-format .bundle-item__image-container {
	margin: 0;
	max-width: none;
	min-width: 0;
	width: 100%;
}

.page--product-details .bundle-format .bundle-item__image-wrapper,
.page--product-details .bundle-format .bundle-item__image-container .list-image__link {
	display: block;
	width: 100%;
}

.page--product-details .bundle-format .bundle-item__image {
	aspect-ratio: 1;
	border-radius: .35rem;
	display: block;
	height: auto;
	max-width: 100%;
	object-fit: contain;
	width: 100%;
}

.page--product-details .bundle-format .bundle-item__details {
	min-width: 0;
	overflow-wrap: anywhere;
}

.page--product-details .bundle-format .bundle-item__info--name {
	margin: 0 0 .35rem;
}

.page--product-details .bundle-format .bundle-item__info--name a {
	color: #1f2527;
	font-family: "Questrial", sans-serif;
	font-size: .98rem;
	font-weight: 400;
	line-height: 1.3;
	text-decoration: none;
}

.page--product-details .bundle-format .bundle-item__info--name a:hover {
	color: #a8475a;
	text-decoration: underline;
	text-underline-offset: .15em;
}

.page--product-details .bundle-format .bundle-item__info--price-row {
	margin-bottom: 0;
}

.page--product-details .bundle-format :is(.bundle-item__info--price-gross, .bundle-item__info--price-net, .bundle-item__info--package-price-gross) {
	color: #a8475a;
	font-family: "DM Sans", sans-serif;
	font-size: .88rem;
	font-weight: 500;
}

.page--product-details .bundle-format .bundle-item__actions {
	grid-column: 1 / -1;
	margin: 0;
	max-width: 100%;
	min-width: 0;
	width: 100%;
}

.page--product-details .bundle-format .bundle-item__actions:not(:has(*)) {
	display: none;
}

.page--product-details .bundle-format .bundle-item__actions :is(.form-select, .select2-container) {
	max-width: 100%;
	min-width: 0;
	width: 100% !important;
}

.page--product-details .bundle-format .bundle-item__actions .select2-selection {
	background-color: #fffdfc;
	border-color: rgba(181, 138, 50, .45);
	border-radius: .375rem;
	font-family: "Questrial", sans-serif;
}

/* When buying is unavailable, do not leave a lone heart in an empty purchase grid. */
.page--product-details .product-summary__info--actions > .product-action--add-to-favorites:only-child {
	grid-column: 1 / -1;
	grid-row: 1;
}

.page--product-details .product-summary__info--actions > .product-action--add-to-favorites:only-child .product-summary__save-wishlist {
	background: transparent;
	border-radius: .375rem;
	color: #a8475a;
	font-family: "Questrial", sans-serif;
	gap: .65rem;
	height: auto;
	padding: .65rem 1rem !important;
	width: 100%;
}

.page--product-details .product-summary__info--actions.product-summary__info--actions > .product-action--add-to-favorites:only-child .product-summary__save-wishlist > .product-summary__save-wishlist-text {
	clip: auto !important;
	clip-path: none !important;
	height: auto !important;
	margin: 0 !important;
	overflow: visible !important;
	position: static !important;
	white-space: normal !important;
	width: auto !important;
}

@media (max-width: 35.99875rem) {
	.page--product-details .product-summary :is(.stock-alert, .bundle-format) {
		padding: 1rem;
	}

	.page--product-details .bundle-format .bundle-item {
		gap: .5rem .65rem;
		grid-template-columns: 3.5rem minmax(0, 1fr);
		padding: .6rem;
	}
}