.product-labels .product-label.out-of-stock {
	box-sizing: border-box;
	width: auto;
	min-width: 116px;
	max-width: 168px;
	height: auto;
	min-height: 42px;
	padding: 9px 14px;
	border-radius: 999px;
	aspect-ratio: auto;
	font-size: 12px;
	line-height: 1.15;
	white-space: normal;
	word-break: normal;
	overflow-wrap: normal;
	hyphens: none;
	text-align: center;
}

/*
 * Woodmart loads its single-product gallery label rules after this asset and
 * otherwise restores the round out-of-stock badge to 55px/50px. Keep this
 * selector more specific so the readable pill geometry survives source order.
 */
.woocommerce-product-gallery .product-label.out-of-stock.oneriver-coming-soon-label {
	min-width: 116px;
	max-width: 168px;
	min-height: 42px;
}

.oneriver-product-contact {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 12px;
	margin-block: 18px 8px;
	padding: 0;
	border: 0;
	background: transparent;
}

.oneriver-product-contact__message {
	margin: 0;
	color: var(--wd-text-color, #111);
	font-size: 14px;
	font-weight: 500;
	line-height: 1.5;
}

.oneriver-product-contact__button {
	box-sizing: border-box;
	height: auto;
	min-height: var(--btn-accented-height, var(--btn-height, 42px));
	padding: var(--btn-accented-padding, var(--btn-padding, 5px 20px));
	border: 0;
	border-radius: var(--btn-accented-brd-radius, 5px);
	background-color: var(--btn-accented-bgcolor, var(--wd-primary-color, #1d8286));
	box-shadow: var(--btn-accented-box-shadow, none);
	color: var(--btn-accented-color, #fff);
	font-family: var(--btn-accented-font-family, var(--btn-font-family, inherit));
	font-size: var(--btn-accented-font-size, var(--btn-font-size, 13px));
	font-style: var(--btn-accented-font-style, normal);
	font-weight: var(--btn-accented-font-weight, var(--btn-font-weight, 600));
	line-height: 1.2;
	text-transform: var(--btn-accented-transform, var(--btn-transform, uppercase));
}

.oneriver-product-contact__button:hover {
	background-color: var(--btn-accented-bgcolor-hover, #176f72);
	box-shadow: var(--btn-accented-box-shadow-hover, none);
	color: var(--btn-accented-color-hover, #fff);
}

.oneriver-product-contact__button:focus-visible,
.oneriver-availability-notice__close:focus-visible {
	outline: 3px solid #17362e;
	outline-offset: 3px;
}

.oneriver-availability-notice[hidden] {
	display: none !important;
}

.oneriver-availability-notice {
	position: fixed;
	top: max(110px, env(safe-area-inset-top));
	right: max(18px, env(safe-area-inset-right));
	bottom: auto;
	z-index: 999;
	box-sizing: border-box;
	width: min(390px, calc(100vw - 36px));
	padding: 22px 56px 22px 22px;
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: 6px;
	background: #17362e;
	box-shadow: 0 16px 42px rgba(7, 20, 16, 0.24);
	color: #fff;
	opacity: 0;
	transform: translateY(14px);
	transition: opacity 180ms ease, transform 180ms ease;
}

.oneriver-availability-notice.is-visible {
	opacity: 1;
	transform: translateY(0);
}

.oneriver-availability-notice__eyebrow {
	margin: 0 0 6px;
	color: #d7dfd9;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.12em;
	line-height: 1.2;
	text-transform: uppercase;
}

.oneriver-availability-notice h2 {
	margin: 0 0 8px;
	color: #fff;
	font-size: clamp(22px, 4vw, 28px);
	line-height: 1.15;
}

.oneriver-availability-notice > p:last-child {
	margin: 0;
	color: #fff;
	font-size: 15px;
	line-height: 1.5;
}

.oneriver-availability-notice__close {
	position: absolute;
	top: 8px;
	right: 8px;
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: #fff;
	font: inherit;
	font-size: 28px;
	line-height: 1;
	cursor: pointer;
}

.oneriver-availability-notice__close:hover {
	background: rgba(255, 255, 255, 0.12);
}

@media (max-width: 480px) {
	.product-labels .product-label.out-of-stock {
		min-width: 104px;
		max-width: 142px;
		min-height: 38px;
		padding: 8px 11px;
		font-size: 11px;
	}

	.woocommerce-product-gallery .product-label.out-of-stock.oneriver-coming-soon-label {
		min-width: 104px;
		max-width: 142px;
		min-height: 38px;
	}

	.oneriver-product-contact {
		align-items: stretch;
	}

	.oneriver-product-contact__button {
		width: 100%;
		text-align: center;
	}

	.oneriver-availability-notice {
		top: max(74px, env(safe-area-inset-top));
		right: 12px;
		left: 12px;
		width: auto;
		padding: 20px 54px 20px 20px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.oneriver-availability-notice {
		transition: none;
	}
}
