/* MFS Back In Stock — modern subscribe card for out-of-stock products. */
/* when an out-of-stock variation is chosen, hide the disabled qty + Add to Bag so the notify form is the CTA */
form.variations_form.mfs-atc-hidden .woocommerce-variation-add-to-cart,
form.variations_form.mfs-atc-hidden .variations_button { display: none !important; }
/* fold WooCommerce's own "Out of stock" line into the card (it's shown as a pill inside) */
form.variations_form.mfs-atc-hidden .single_variation .stock.out-of-stock,
form.variations_form.mfs-atc-hidden .stock.out-of-stock { display: none !important; }

.mfs-bis {
	--mfs-ink: #111214;
	--mfs-red: #d92b2b;
	margin: 8px 0 22px;
	padding: 22px 24px;
	background: #fff;
	border: 1px solid #ececee;
	border-radius: 12px;
	box-shadow: 0 1px 2px rgba(17,18,20,.04), 0 8px 24px rgba(17,18,20,.05);
}
.mfs-bis[hidden] { display: none; }

/* header: icon badge + copy */
.mfs-bis-head { display: flex; align-items: flex-start; gap: 14px; margin-bottom: 18px; }
.mfs-bis-icon {
	flex: 0 0 auto; width: 42px; height: 42px; border-radius: 50%;
	display: flex; align-items: center; justify-content: center;
	background: var(--mfs-ink); color: #fff;
	transition: background .2s;
}
.mfs-bis-icon svg { width: 21px; height: 21px; display: block; }
/* "Out of stock" status folded into the card */
.mfs-bis-status {
	display: inline-block; margin: 0 0 7px; padding: 3px 10px;
	background: #fcebeb; color: #a32d2d; border-radius: 999px;
	font-size: 11px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; line-height: 1.4;
}
.mfs-bis.mfs-done .mfs-bis-status { display: none; }
/* title — use the clean body font (not the heavy heading font), lighter weight for readability */
.mfs-bis-title {
	margin: 0 0 4px; padding: 0; font-family: inherit; font-size: 17px; line-height: 1.25; font-weight: 600;
	letter-spacing: 0; color: var(--mfs-ink); text-transform: none;
}
.mfs-bis-sub { margin: 0; font-size: 13.5px; line-height: 1.5; color: #5b5e66; }

/* selected variation — shows which colour/size is being subscribed to */
.mfs-bis-variant {
	display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 8px;
	margin: 0 0 16px; padding: 10px 14px;
	background: #f6f6f7; border: 1px solid #ececee; border-radius: 9px;
	font-size: 13px; line-height: 1.4;
}
.mfs-bis-variant[hidden] { display: none; }
.mfs-bis-variant-label { color: #5b5e66; font-weight: 500; }
.mfs-bis-variant-val { color: var(--mfs-ink); font-weight: 600; }
.mfs-bis.mfs-done .mfs-bis-variant { background: #eef8f1; border-color: #c6e7d0; }

/* inputs */
.mfs-bis-row { display: flex; gap: 10px; flex-wrap: wrap; }
.mfs-bis-row input {
	flex: 1 1 200px; min-width: 0; padding: 12px 14px;
	border: 1px solid #d6d8dc; border-radius: 9px;
	font-size: 15px; font-family: inherit; line-height: 1.3; color: var(--mfs-ink); background: #fff;
	transition: border-color .15s, box-shadow .15s;
}
.mfs-bis-row input::placeholder { color: #9a9da4; }
.mfs-bis-row input:focus { outline: none; border-color: var(--mfs-ink); box-shadow: 0 0 0 3px rgba(17,18,20,.10); }

/* button — branded, beats theme .button */
.mfs-bis .mfs-bis-submit,
.mfs-bis .mfs-bis-submit.button {
	display: block; width: 100%; margin: 14px 0 0;
	padding: 13px 28px; border: 0; border-radius: 9px; cursor: pointer;
	background: var(--mfs-ink) !important; color: #fff !important;
	font-family: inherit; font-size: 14px; font-weight: 700; line-height: 1;
	letter-spacing: .05em; text-transform: uppercase;
	transition: background .15s, transform .05s;
}
.mfs-bis .mfs-bis-submit:hover,
.mfs-bis .mfs-bis-submit.button:hover { background: var(--mfs-red) !important; }
.mfs-bis .mfs-bis-submit:active { transform: translateY(1px); }
.mfs-bis .mfs-bis-submit[disabled] { opacity: .6; cursor: progress; }
@media (min-width: 480px) {
	.mfs-bis .mfs-bis-submit,
	.mfs-bis .mfs-bis-submit.button { display: inline-block; width: auto; }
}

/* messages + fine print */
.mfs-bis-msg { margin-top: 12px; font-size: 13.5px; font-weight: 600; line-height: 1.45; }
.mfs-bis-msg:empty { margin-top: 0; }
.mfs-bis-msg.mfs-ok { color: #15803d; }
.mfs-bis-msg.mfs-error { color: var(--mfs-red); }
.mfs-bis-fineprint { margin: 12px 0 0; font-size: 12px; line-height: 1.4; color: #9a9da4; }

/* success state — collapse form, confirm with green */
.mfs-bis.mfs-done .mfs-bis-form .mfs-bis-row,
.mfs-bis.mfs-done .mfs-bis-submit,
.mfs-bis.mfs-done .mfs-bis-fineprint { display: none; }
.mfs-bis.mfs-done { border-color: #c6e7d0; background: #f4fbf6; }
.mfs-bis.mfs-done .mfs-bis-icon { background: #15803d; }
.mfs-bis.mfs-done .mfs-bis-msg.mfs-ok {
	display: flex; gap: 8px; align-items: flex-start; margin-top: 6px; font-size: 14px;
}
.mfs-bis.mfs-done .mfs-bis-msg.mfs-ok::before {
	content: "✓"; flex: 0 0 auto; width: 18px; height: 18px; margin-top: 1px;
	display: inline-flex; align-items: center; justify-content: center;
	background: #15803d; color: #fff; border-radius: 50%; font-size: 11px; font-weight: 700;
}
