/*bizco-head:bizco-btnbusy-css*/

/* The busy state itself. `color:transparent` rather than a label swap keeps
   the button at exactly the width it had, so a row of buttons never reflows
   mid-click. Children are hidden with visibility (not display) for the same
   reason - an icon inside the button keeps its box. */
/* THE REPEATED CLASS IS LOAD-BEARING. Component sheets pin their button
   colours with !important - `.bizco-cart-checkout{color:#fff !important}` and
   `.bizco-acct form.woocommerce-EditAccountForm button[type=submit]` are two
   of several, and the second scores 0,3,2. Against a single `.bizco-busy`
   those win outright, and Place Order kept a white label under the ring.
   Four repeats score 0,4,0 and outrank every one of them. Where even that is
   not enough - an ID-scoped rule always wins on specificity - the runtime
   also writes these properties inline with !important, which nothing can
   beat; this block is what dresses Blocksy's own `.loading` button and what
   catches anyone who adds the class by hand. Measured, not guessed:
   dev-scripts/busysweep.mjs asserts the label really is transparent on every
   button on the site.

   TRANSITIONS ARE KILLED HERE TOO. Several of these buttons animate `color`,
   and a busy state that fades in over 160ms is a busy state that can be
   caught half-applied - a readable label sitting on top of the spinner. A
   loading signal should be instant anyway. */
.bizco-busy.bizco-busy.bizco-busy.bizco-busy,
.single_add_to_cart_button.loading,
a.add_to_cart_button.loading{
	position:relative !important;
	color:transparent !important;
	opacity:.55 !important;
	pointer-events:none !important;
	cursor:default !important;
	text-shadow:none !important;
	transition:none !important;
}
.bizco-busy.bizco-busy.bizco-busy.bizco-busy > *,
.single_add_to_cart_button.loading > *,
a.add_to_cart_button.loading > *{visibility:hidden !important}
/* bizco-test-d7c v1: no-select (case D-7, owner 2026-09-28: "when i double clicked the button, I see 'Free' behind
   the loading spinner"). A double-click selects the word under the pointer, and the site's ::selection paints
   selected text white on green: color:transparent above does not reach a selection, so "Free" (the middle word of
   "Order My Free Samples", right under the ring) came back. A busy button cannot be selected, and a selection made
   before it went busy paints nothing. */
.bizco-busy.bizco-busy.bizco-busy.bizco-busy,
.single_add_to_cart_button.loading,
a.add_to_cart_button.loading{-webkit-user-select:none !important;user-select:none !important}
.bizco-busy.bizco-busy.bizco-busy.bizco-busy::selection,
.bizco-busy.bizco-busy.bizco-busy.bizco-busy *::selection,
.single_add_to_cart_button.loading::selection,
a.add_to_cart_button.loading::selection{color:transparent !important;background:transparent !important}
.bizco-busy.bizco-busy.bizco-busy.bizco-busy::before{content:none !important}
.bizco-busy.bizco-busy.bizco-busy.bizco-busy::after,
.single_add_to_cart_button.loading::after,
a.add_to_cart_button.loading::after{
	content:"" !important;
	position:absolute !important;
	top:50% !important;
	left:50% !important;
	right:auto !important;
	bottom:auto !important;
	width:var(--bizco-busy-size,18px) !important;
	height:var(--bizco-busy-size,18px) !important;
	margin:calc(var(--bizco-busy-size,18px) / -2) 0 0 calc(var(--bizco-busy-size,18px) / -2) !important;
	padding:0 !important;
	box-sizing:border-box !important;
	border-radius:50% !important;
	border:var(--bizco-busy-weight,2.5px) solid var(--bizco-busy-track,rgba(255,255,255,.42)) !important;
	border-top-color:var(--bizco-busy-head,#fff) !important;
	/* Blocksy paints its own spinner on this same pseudo-element with a
	   background + SVG mask. Both are cancelled here or the two draw over
	   each other and the ring reads as a smudge. */
	background:none !important;
	-webkit-mask:none !important;
	mask:none !important;
	opacity:1 !important;
	visibility:visible !important;
	animation:bizco-busy-spin .8s linear infinite !important;
}
@keyframes bizco-busy-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){
	.bizco-busy.bizco-busy.bizco-busy.bizco-busy::after,
	.single_add_to_cart_button.loading::after,
	a.add_to_cart_button.loading::after{animation-duration:2.4s !important}
}
/* The theme's own loading rule adds a gap for its spinner; ours is centred
   absolutely and does not want it. */
.single_add_to_cart_button.loading,
a.add_to_cart_button.loading{gap:0 !important}
/* bizco-test-atctap1 v1 (case ATC-TAP-1, owner report 2026-09-24 from an
   iPhone): a phone keeps :hover on the last thing tapped until the next tap
   somewhere else, so the theme's darker hover green stayed on Add to cart
   after the item was added and read as a button still held down. On a touch
   screen (the site's usual touch query) the hover look is the resting look,
   and the darker green shows only while the finger is on the button
   (:active). A computer, where hover follows a real pointer, is untouched.
   Colours are the buttons' own: the theme's button variables on the product
   page, post 89's #0F9558 / #0F5230 pair on the catalogue cards. Nothing here
   is !important, so the busy rules above still hide the label mid-add. */
@media (hover: none), (pointer: coarse){
	form.cart .single_add_to_cart_button.single_add_to_cart_button:hover{
		color:var(--theme-button-text-initial-color);
		background-color:var(--theme-button-background-initial-color);
	}
	form.cart .single_add_to_cart_button.single_add_to_cart_button:active{
		color:var(--theme-button-text-hover-color);
		background-color:var(--theme-button-background-hover-color);
	}
	.bizco-loop-add.bizco-loop-add:hover{background:#0F9558}
	.bizco-loop-add.bizco-loop-add:active{background:#0F5230}
}

/*bizco-head:wp-block-custom-css-inline-css*/

:root :where(.wp-custom-css-1a1e972fu0026:hover a ){n    text-decoration: underline !important;n}
:root :where(.wp-custom-css-af26fc0d/* Underline the mega-menu tile heading on hover (whether hovering image or text) */n.mega-tile-link:hover .mega-tile-text,n.mega-tile-text a:hover,n.mega-tile-text:hover ){n    text-decoration: underline !important;n}
:root :where(.wp-custom-css-57837d6du0026:hover a ){n    text-decoration: underline !important;n}
:root :where(.wp-custom-css-31119cdc/* Underline the mega-menu tile heading on hover (whether hovering image or text) */n.mega-tile-link:hover .mega-tile-text,n.mega-tile-text a:hover,n.mega-tile-text:hover ){n    text-decoration: underline !important;n}
:root :where(.wp-custom-css-7e465f19u0026:hover a ){n    text-decoration: underline !important;n}
:root :where(.wp-custom-css-581bc417/* Underline the mega-menu tile heading on hover (whether hovering image or text) */n.mega-tile-link:hover .mega-tile-text,n.mega-tile-text a:hover,n.mega-tile-text:hover ){n    text-decoration: underline !important;n}
:root :where(.wp-custom-css-9a341fe2u0026:hover a ){n    text-decoration: underline !important;n}
:root :where(.wp-custom-css-db99b0b9/* Underline the mega-menu tile heading on hover (whether hovering image or text) */n.mega-tile-link:hover .mega-tile-text,n.mega-tile-text a:hover,n.mega-tile-text:hover ){n    text-decoration: underline !important;n}
:root :where(.wp-custom-css-ecc193fau0026:hover a ){n    text-decoration: underline !important;n}
:root :where(.wp-custom-css-3a6fdc96/* Underline the mega-menu tile heading on hover (whether hovering image or text) */n.mega-tile-link:hover .mega-tile-text,n.mega-tile-text a:hover,n.mega-tile-text:hover ){n    text-decoration: underline !important;n}
/*# sourceURL=wp-block-custom-css-inline-css */

/*bizco-head:core-block-supports-inline-css*/

.wp-container-core-columns-is-layout-995f960e{flex-wrap:nowrap;}.wp-container-core-column-is-layout-93f75dc5 > .alignfull{margin-right:calc(0px * -1);margin-left:calc(0px * -1);}.wp-container-core-columns-is-layout-8633ce27{flex-wrap:nowrap;gap:0 var(--wp--preset--spacing--40);}
/*# sourceURL=core-block-supports-inline-css */

