:root {
	--bn-alert-bg: #242424;
	--bn-alert-panel: #2b2b2b;
	--bn-alert-line: rgba(255, 255, 255, .68);
	--bn-alert-muted: rgba(255, 255, 255, .62);
	--bn-alert-gold: #d7bd42;
	--bn-alert-white: #fff;
}

.bn-stock-alerts {
	box-sizing: border-box;
	color: var(--bn-alert-white);
	font-family: inherit;
	width: 100%;
}

.bn-stock-alerts *,
.bn-stock-alerts *::before,
.bn-stock-alerts *::after { box-sizing: border-box; }

.bn-stock-alerts__eyebrow {
	display: block;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .07em;
	margin: 0 0 9px;
	text-align: left;
	text-transform: uppercase;
}

.bn-stock-alerts__items {
	display: grid;
	gap: 10px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	transition: gap .22s ease;
}

.bn-stock-alerts__item { min-width: 0; }
.bn-stock-alerts__item:only-child { grid-column: 1 / -1; }
.bn-stock-alerts__items.has-open-item .bn-stock-alerts__item:not(.is-open) { display: none; }
.bn-stock-alerts__item.is-open { grid-column: 1 / -1; }

.bn-stock-alerts__trigger {
	align-items: center !important;
	appearance: none;
	background: rgba(255, 255, 255, .035) !important;
	border: 1px solid rgba(255, 255, 255, .4) !important;
	border-radius: 6px !important;
	box-shadow: none !important;
	color: var(--bn-alert-white) !important;
	cursor: pointer;
	display: flex !important;
	font-family: inherit !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	gap: 10px;
	justify-content: space-between;
	line-height: 1.15 !important;
	margin: 0 !important;
	min-height: 48px;
	overflow: hidden;
	padding: 8px 10px !important;
	text-align: left;
	text-transform: none !important;
	transition: background .2s ease, border-color .2s ease, color .2s ease;
	width: 100% !important;
}

.bn-stock-alerts__trigger:hover,
.bn-stock-alerts__trigger:focus-visible,
.bn-stock-alerts__item.is-open .bn-stock-alerts__trigger,
.bn-stock-alerts__item.is-modal-open .bn-stock-alerts__trigger {
	background: var(--bn-alert-white) !important;
	border-color: var(--bn-alert-white) !important;
	color: #202020 !important;
}

.bn-stock-alerts__format {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}

.bn-stock-alerts__format strong { font-size: 13px; white-space: nowrap; }
.bn-stock-alerts__format small,
.bn-stock-alerts__format .amount { color: inherit !important; font-size: 11px !important; font-weight: 500; }
.bn-stock-alerts__trigger-label { flex: 0 0 auto; font-size: 11px; }

.bn-stock-alerts__panel {
	display: grid;
	grid-template-rows: 0fr;
	opacity: 0;
	transition: grid-template-rows .25s ease, opacity .2s ease;
}

.bn-stock-alerts__panel > * { min-height: 0; overflow: hidden; }
.bn-stock-alerts__item.is-open .bn-stock-alerts__panel { grid-template-rows: 1fr; opacity: 1; }

.bn-stock-alerts__form {
	background: transparent;
	border: 1px solid var(--bn-alert-white);
	border-radius: 6px;
	margin-top: 8px;
	padding: 12px;
	text-align: left;
}

.bn-stock-alerts__form > label {
	color: var(--bn-alert-white);
	display: block;
	font-size: 11px;
	font-weight: 600;
	margin-bottom: 6px;
}

.bn-stock-alerts__form-row { display: flex; gap: 7px; width: 100%; }
.bn-stock-alerts__form-row input[type="email"] {
	appearance: none;
	background: #1c1c1c !important;
	border: 1px solid rgba(255, 255, 255, .48) !important;
	border-radius: 4px !important;
	box-shadow: none !important;
	color: var(--bn-alert-white) !important;
	font: inherit;
	font-size: 13px;
	height: 42px !important;
	margin: 0 !important;
	min-width: 0;
	padding: 0 11px !important;
	width: 100%;
}

.bn-stock-alerts__form-row input::placeholder { color: rgba(255, 255, 255, .42); }
.bn-stock-alerts__form-row input:focus { border-color: var(--bn-alert-gold) !important; outline: 2px solid transparent; }
.bn-stock-alerts__form-row button {
	appearance: none;
	background: var(--bn-alert-gold) !important;
	border: 1px solid var(--bn-alert-gold) !important;
	border-radius: 4px !important;
	box-shadow: none !important;
	color: #171717 !important;
	font: inherit !important;
	font-size: 12px !important;
	font-weight: 800 !important;
	height: 42px !important;
	line-height: 1 !important;
	margin: 0 !important;
	min-width: 96px;
	padding: 0 14px !important;
	text-transform: uppercase;
}

.bn-stock-alerts__form-row button[disabled] { cursor: wait; opacity: .72; }
.bn-stock-alerts__form.is-loading .bn-stock-alerts__form-row button span { opacity: 0; }
.bn-stock-alerts__form.is-loading .bn-stock-alerts__form-row button { position: relative; }
.bn-stock-alerts__form.is-loading .bn-stock-alerts__form-row button::after {
	animation: bn-stock-spin .7s linear infinite;
	border: 2px solid rgba(23, 23, 23, .3);
	border-radius: 50%;
	border-top-color: #171717;
	content: "";
	height: 17px;
	left: calc(50% - 8.5px);
	position: absolute;
	top: calc(50% - 8.5px);
	width: 17px;
}

.bn-stock-alerts__privacy,
.bn-stock-alerts__status {
	color: var(--bn-alert-muted) !important;
	font-size: 10px !important;
	line-height: 1.45;
	margin: 7px 0 0 !important;
}

.bn-stock-alerts__privacy a { color: var(--bn-alert-white) !important; text-decoration: underline; }
.bn-stock-alerts__status:not(:empty) { color: var(--bn-alert-white) !important; font-weight: 600; }
.bn-stock-alerts__honeypot { height: 1px !important; left: -9999px !important; opacity: 0 !important; position: absolute !important; width: 1px !important; }

/* Card archivio e carosello home. */
.woocommerce ul.products li.product:has(.bn-stock-alerts--catalog) .price,
.wp-block-woocommerce-product-template li:has(.bn-stock-alerts--catalog) > .wp-block-woocommerce-product-price { display: none !important; }
.bn-stock-alerts--catalog { margin-top: 10px; position: relative; z-index: 3; }
.bn-stock-alerts--catalog .bn-catalog-sold-out-badge {
	background: #2a2a2a !important;
	border: 1px solid rgba(255,255,255,.48) !important;
	border-radius: 999px !important;
	color: #fff !important;
	font-size: 10px !important;
	font-weight: 700 !important;
	letter-spacing: .07em;
	padding: 6px 10px !important;
	position: absolute;
	right: 0;
	top: -42px;
	text-transform: uppercase;
}
.woocommerce li.product:hover .bn-catalog-sold-out-badge,
.wc-block-product:hover .bn-catalog-sold-out-badge { background: #2a2a2a !important; color: #fff !important; }

/* Pagina prodotto singola. */
.bn-stock-alerts--single {
	background: var(--bn-alert-panel);
	border: 1px solid rgba(255, 255, 255, .32);
	border-radius: 11px;
	clear: both;
	margin-top: 18px;
	padding: 16px;
}

.bn-product__quick-card > .bn-stock-alerts--single {
	margin: 14px 0 0;
}

.bn-stock-alerts--compact {
	border-color: rgba(215, 189, 66, .68);
	border-left: 3px solid var(--bn-alert-gold);
	padding: 15px 16px 14px;
}

.bn-stock-alerts--compact .bn-stock-alerts__eyebrow {
	color: var(--bn-alert-white);
	font-size: 12px;
	letter-spacing: .055em;
	margin-bottom: 10px;
}

.bn-stock-alerts--compact .bn-stock-alerts__form {
	border: 0;
	border-radius: 0;
	margin: 0;
	padding: 0;
}

.bn-stock-alerts--compact .bn-stock-alerts__form-row {
	background: #191919;
	border: 1px solid rgba(255, 255, 255, .52);
	border-radius: 5px;
	gap: 0;
	overflow: hidden;
}

.bn-stock-alerts--compact .bn-stock-alerts__form-row input[type="email"] {
	border: 0 !important;
	border-radius: 0 !important;
	height: 46px !important;
}

.bn-stock-alerts--compact .bn-stock-alerts__form-row button {
	border: 0 !important;
	border-left: 1px solid var(--bn-alert-gold) !important;
	border-radius: 0 !important;
	height: 46px !important;
	min-width: 112px;
}

.bn-stock-alert-product .stock.out-of-stock {
	align-items: center;
	background: rgba(215, 189, 66, .10);
	border: 1px solid rgba(215, 189, 66, .72);
	border-radius: 4px;
	color: #f0d96d !important;
	display: flex !important;
	font-size: 11px !important;
	font-weight: 800 !important;
	justify-content: center;
	letter-spacing: .11em;
	min-height: 38px;
	padding: 9px 13px !important;
	text-align: center;
	text-transform: uppercase;
	width: 100%;
}

.bn-stock-alert-product .stock.out-of-stock::before {
	background: var(--bn-alert-gold);
	border-radius: 50%;
	box-shadow: 0 0 0 4px rgba(215, 189, 66, .12);
	content: "";
	height: 7px;
	margin-right: 9px;
	width: 7px;
}

/* Un prodotto interamente esaurito offre l'avviso, non un acquisto impossibile. */
.bn-stock-alert-product .single_add_to_cart_button,
.bn-stock-alert-product button[name="add-to-cart"],
.bn-stock-alert-product .bn-product__quick-actions,
.bn-stock-alert-product form.cart > .quantity { display: none !important; }

/* Area personale. */
.bn-modern-account-page .woocommerce-MyAccount-navigation-link--avvisi-disponibilita a {
	--bn-mwa-nav-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2a6 6 0 0 1 6 6v4.59L20.41 15H21v2H3v-2h.59L6 12.59V8a6 6 0 0 1 6-6Zm0 2a4 4 0 0 0-4 4v5.41L6.41 15h11.18L16 13.41V8a4 4 0 0 0-4-4Zm-2 14h4a2 2 0 0 1-4 0Z'/%3E%3C/svg%3E");
}

.bn-stock-alerts-account h2 {
	color: #fff;
	font-size: clamp(25px, 3vw, 34px);
	line-height: 1.08;
	margin: 0 0 20px;
}

.bn-stock-alerts-account__list { display: grid; gap: 10px; }
.bn-stock-alerts-account__item {
	align-items: center;
	background: linear-gradient(105deg, rgba(255,255,255,.045), rgba(255,255,255,.018));
	border: 1px solid rgba(255,255,255,.22);
	border-radius: 10px;
	display: grid;
	gap: 14px;
	grid-template-columns: 44px minmax(0, 1fr) auto;
	min-height: 78px;
	overflow: hidden;
	padding: 13px 14px;
	position: relative;
	transition: border-color .18s ease, background-color .18s ease, transform .18s ease;
}

.bn-stock-alerts-account__item:hover {
	background: rgba(255,255,255,.045);
	border-color: rgba(215,189,66,.55);
}

.bn-stock-alerts-account__item::before {
	align-self: center;
	background: var(--bn-alert-gold);
	content: "";
	height: 22px;
	justify-self: center;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2a6 6 0 0 1 6 6v4.59L20.41 15H21v2H3v-2h.59L6 12.59V8a6 6 0 0 1 6-6Zm0 2a4 4 0 0 0-4 4v5.41L6.41 15h11.18L16 13.41V8a4 4 0 0 0-4-4Zm-2 14h4a2 2 0 0 1-4 0Z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2a6 6 0 0 1 6 6v4.59L20.41 15H21v2H3v-2h.59L6 12.59V8a6 6 0 0 1 6-6Zm0 2a4 4 0 0 0-4 4v5.41L6.41 15h11.18L16 13.41V8a4 4 0 0 0-4-4Zm-2 14h4a2 2 0 0 1-4 0Z'/%3E%3C/svg%3E") center / contain no-repeat;
	width: 22px;
}

.bn-stock-alerts-account__item::after {
	border: 1px solid rgba(215,189,66,.34);
	border-radius: 50%;
	content: "";
	height: 42px;
	left: 15px;
	pointer-events: none;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 42px;
}

.bn-stock-alerts-account__copy { min-width: 0; }
.bn-stock-alerts-account__item strong {
	color: #fff;
	display: block;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.3;
}

.bn-stock-alerts-account__status {
	align-items: center;
	color: rgba(255,255,255,.62);
	display: inline-flex !important;
	font-size: 11px;
	font-weight: 600;
	gap: 6px;
	letter-spacing: .025em;
	line-height: 1.3;
	margin-top: 5px;
}

.bn-stock-alerts-account__status::before {
	background: var(--bn-alert-gold);
	border-radius: 50%;
	box-shadow: 0 0 0 3px rgba(215,189,66,.11);
	content: "";
	height: 6px;
	width: 6px;
}

.bn-stock-alerts-account__item.is-status-notified .bn-stock-alerts-account__status::before,
.bn-stock-alerts-account__item.is-status-unsubscribed .bn-stock-alerts-account__status::before {
	background: rgba(255,255,255,.4);
	box-shadow: none;
}

.bn-stock-alerts-account__item form.bn-stock-alerts-account__remove {
	align-self: center;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
	width: auto !important;
}

.bn-stock-alerts-account__item button {
	align-items: center;
	background: transparent !important;
	border: 1px solid rgba(255,255,255,.42) !important;
	border-radius: 6px !important;
	box-shadow: none !important;
	color: #fff !important;
	display: inline-flex !important;
	font: inherit !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	gap: 7px;
	height: 38px;
	justify-content: center;
	line-height: 1 !important;
	margin: 0 !important;
	padding: 0 12px !important;
	text-transform: none !important;
	transition: background-color .18s ease, border-color .18s ease, color .18s ease;
}

.bn-stock-alerts-account__item button:hover,
.bn-stock-alerts-account__item button:focus-visible {
	background: rgba(213,90,90,.12) !important;
	border-color: rgba(239,126,126,.78) !important;
	color: #ffd4d4 !important;
	outline: none;
}

.bn-stock-alerts-account__trash {
	background: currentColor;
	display: block;
	height: 15px;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M9 3h6l1 2h5v2h-2l-1 14H6L5 7H3V5h5l1-2Zm1.24 2h3.52l-.5-1h-2.52l-.5 1ZM7 7l1 12h8l1-12H7Zm2 2h2v8H9V9Zm4 0h2v8h-2V9Z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M9 3h6l1 2h5v2h-2l-1 14H6L5 7H3V5h5l1-2Zm1.24 2h3.52l-.5-1h-2.52l-.5 1ZM7 7l1 12h8l1-12H7Zm2 2h2v8H9V9Zm4 0h2v8h-2V9Z'/%3E%3C/svg%3E") center / contain no-repeat;
	width: 15px;
}

/* Modal mobile per l'iscrizione dalla card archivio. */
body.bn-stock-alert-modal-open { overflow: hidden !important; }

.bn-stock-alerts-mobile-modal,
.bn-stock-alerts-mobile-modal * { box-sizing: border-box; }

.bn-stock-alerts-mobile-modal {
	align-items: flex-end;
	bottom: auto;
	display: none;
	height: var(--bn-alert-modal-height, 100dvh);
	justify-content: center;
	left: 0;
	padding: 14px;
	position: fixed;
	right: 0;
	top: var(--bn-alert-modal-top, 0);
	z-index: 2147483200;
}

.bn-stock-alerts-mobile-modal[hidden] { display: none !important; }

.bn-stock-alerts-mobile-modal__backdrop {
	background: rgba(7, 7, 7, .76);
	inset: 0;
	opacity: 0;
	position: absolute;
	transition: opacity .22s ease;
}

.bn-stock-alerts-mobile-modal__dialog {
	background: #242424;
	border: 1px solid rgba(255, 255, 255, .34);
	border-radius: 12px;
	box-shadow: 0 24px 70px rgba(0, 0, 0, .58);
	color: var(--bn-alert-white);
	max-height: calc(var(--bn-alert-modal-height, 100dvh) - 28px);
	opacity: 0;
	overflow: auto;
	padding: 24px 18px 18px;
	position: relative;
	transform: translate3d(0, 24px, 0);
	transition: opacity .22s ease, transform .22s ease;
	width: min(100%, 430px);
	z-index: 1;
}

.bn-stock-alerts-mobile-modal.is-open .bn-stock-alerts-mobile-modal__backdrop,
.bn-stock-alerts-mobile-modal.is-open .bn-stock-alerts-mobile-modal__dialog { opacity: 1; }
.bn-stock-alerts-mobile-modal.is-open .bn-stock-alerts-mobile-modal__dialog { transform: translate3d(0, 0, 0); }

.bn-stock-alerts-mobile-modal__close {
	align-items: center !important;
	background: transparent !important;
	border: 1px solid rgba(255, 255, 255, .4) !important;
	border-radius: 50% !important;
	box-shadow: none !important;
	color: #fff !important;
	display: flex !important;
	font-size: 22px !important;
	height: 34px;
	justify-content: center;
	line-height: 1 !important;
	margin: 0 !important;
	padding: 0 0 2px !important;
	position: absolute;
	right: 14px;
	top: 14px;
	width: 34px;
}

.bn-stock-alerts-mobile-modal__eyebrow {
	color: var(--bn-alert-gold);
	display: block;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .11em;
	margin: 0 48px 8px 0;
	text-transform: uppercase;
}

.bn-stock-alerts-mobile-modal h2 {
	color: #fff !important;
	font-size: clamp(22px, 7vw, 28px) !important;
	line-height: 1.05 !important;
	margin: 0 44px 8px 0 !important;
}

.bn-stock-alerts-mobile-modal__selection {
	color: var(--bn-alert-muted) !important;
	font-size: 13px !important;
	margin: 0 0 16px !important;
}

.bn-stock-alerts-mobile-modal .bn-stock-alerts__panel {
	display: block;
	grid-template-rows: none;
	opacity: 1;
}

.bn-stock-alerts-mobile-modal .bn-stock-alerts__panel > * {
	overflow: visible;
}

.bn-stock-alerts-mobile-modal .bn-stock-alerts__form {
	border-color: rgba(255, 255, 255, .42);
	margin: 0;
	padding: 14px;
}

/* Messaggio fluttuante. */
.bn-stock-alert-toast {
	align-items: center;
	background: #252525;
	border: 1px solid rgba(255,255,255,.35);
	border-left: 4px solid var(--bn-alert-gold);
	border-radius: 8px;
	box-shadow: 0 18px 48px rgba(0,0,0,.42);
	color: #fff;
	display: grid;
	gap: 11px;
	grid-template-columns: 20px minmax(0,1fr) 28px;
	max-width: min(390px, calc(100vw - 30px));
	opacity: 0;
	padding: 13px 10px 13px 14px;
	position: fixed;
	right: 18px;
	top: 92px;
	transform: translate3d(18px,0,0);
	transition: opacity .24s ease, transform .24s ease;
	width: max-content;
	z-index: 2147483000;
}
.bn-stock-alert-toast.is-visible { opacity: 1; transform: translate3d(0,0,0); }
.bn-stock-alert-toast.is-leaving { opacity: 0; transform: translate3d(12px,0,0); }
.bn-stock-alert-toast.is-error { border-left-color: #d86363; }
.bn-stock-alert-toast p { color: inherit !important; font-size: 13px !important; line-height: 1.4 !important; margin: 0 !important; }
.bn-stock-alert-toast button { align-items:center; background:transparent !important; border:0 !important; border-radius:50% !important; color:#fff !important; display:flex; font-size:20px !important; height:28px; justify-content:center; line-height:1 !important; margin:0 !important; padding:0 !important; width:28px; }
.bn-stock-alert-toast__icon { border: 2px solid var(--bn-alert-gold); border-radius: 50%; display:block; height:18px; position:relative; width:18px; }
.bn-stock-alert-toast__icon::after { border-bottom:2px solid var(--bn-alert-gold); border-right:2px solid var(--bn-alert-gold); content:""; height:7px; left:5px; position:absolute; top:3px; transform:rotate(45deg); width:3px; }
.bn-stock-alert-toast.is-error .bn-stock-alert-toast__icon { border-color:#d86363; }
.bn-stock-alert-toast.is-error .bn-stock-alert-toast__icon::after { border:0; background:#d86363; height:8px; left:6px; top:3px; transform:none; width:2px; }

@keyframes bn-stock-spin { to { transform: rotate(360deg); } }

@media (max-width: 767px) {
	.bn-stock-alerts__items { gap: 7px; }
	.bn-stock-alerts--catalog .bn-stock-alerts__items { grid-template-columns: minmax(0, 1fr); }
	.bn-stock-alerts--catalog .bn-stock-alerts__item,
	.bn-stock-alerts--catalog .bn-stock-alerts__item:only-child { grid-column: 1; }
	.bn-stock-alerts--catalog .bn-stock-alerts__trigger { min-height: 52px; }
	.bn-stock-alerts--catalog .bn-stock-alerts__panel[aria-hidden="true"] { display: none; }
	.bn-stock-alerts-mobile-modal { display: flex; }
	.bn-stock-alerts__trigger { min-height: 46px; padding: 7px 9px !important; }
	.bn-stock-alerts__form-row { flex-direction: column; }
	.bn-stock-alerts__form-row button { width: 100% !important; }
	.bn-stock-alerts--compact .bn-stock-alerts__form-row { flex-direction: row; }
	.bn-stock-alerts--compact .bn-stock-alerts__form-row button { min-width: 96px; width: auto !important; }
	.bn-stock-alerts--single { border-radius: 8px; margin-top: 14px; padding: 13px; }
	.bn-stock-alert-toast { left: 15px; right: 15px; top: 76px; width: auto; }
	.bn-stock-alerts-account__item {
		align-items: center;
		gap: 11px;
		grid-template-columns: 40px minmax(0, 1fr);
		padding: 12px;
	}
	.bn-stock-alerts-account__item::after { height: 38px; left: 13px; top: 31px; width: 38px; }
	.bn-stock-alerts-account__item form.bn-stock-alerts-account__remove { grid-column: 2; justify-self: start; }
}

@media (prefers-reduced-motion: reduce) {
	.bn-stock-alerts__panel,
	.bn-stock-alerts__trigger,
	.bn-stock-alert-toast,
	.bn-stock-alerts-mobile-modal__backdrop,
	.bn-stock-alerts-mobile-modal__dialog { transition: none !important; }
	.bn-stock-alerts__form.is-loading .bn-stock-alerts__form-row button::after { animation-duration: 1.4s; }
}
