/*bizco-head:bizco-alert-css*/

/* THE BELL, EVERY SELECTOR THAT CAN DRAW IT. Blocksy renders it from the 'woo'
   icon font, glyph \e901, out of exactly two rules:
     legacy-notice.scss  ::before on .woocommerce-info / -error / -message /
                         .woocommerce-thankyou-order-received
     store-notice.scss   ::before on .demo_store, the WooCommerce store notice
                         banner. That one is switched off today, but it is a
                         checkbox in WooCommerce > Settings > General, so it is
                         killed here rather than left to be rediscovered.
   The first three of those classes get the mark strip further down instead of
   a plain kill; the glyph is unset for all of them here first, with no
   :not() guard, so no combination of classes can bring it back. */
.woocommerce-thankyou-order-received::before,.demo_store::before{
	content:none !important;display:none !important}
:is(.woocommerce-error,.woocommerce-info,.woocommerce-message)::before{
	font-family:inherit !important;content:"" !important}

/* JS-BUILT NOTICES NEVER REACH THE TEMPLATE, so the legacy classes are dressed
   as the component rather than merely stripped of their bell.
   Five places assemble notice markup in the browser and put it straight into
   the DOM, never touching wc_get_template, so the override above cannot see
   them:
     - checkout.js twice, for an unparseable checkout response and for an
       outright network failure ("There was an error processing your order...")
     - add-to-cart-variation.js, when the chosen attributes match no variation
     - Stripe's classic and UPE bundles, which wrap every gateway refusal
       (card declined, incorrect CVC, SCA give-up) in their own
       <ul class="woocommerce-error">. That is the live MAX checkout path.
   Chasing five scripts would leave the sixth. Instead the bell's own ::before
   is reused as the coloured mark strip: any element carrying a legacy notice
   class, from any plugin present or future, lands in the component's skin with
   no markup of its own. */
:is(.woocommerce-error,.woocommerce-info,.woocommerce-message):not(.bizco-alert){
	position:relative;display:block;overflow:hidden;list-style:none !important;
	background:#fff !important;border:1px solid #E4EAE6 !important;
	border-radius:12px !important;box-shadow:0 1px 2px rgba(22,33,27,.05);
	font-family:'Outfit',system-ui,sans-serif;
	font-size:15px;font-weight:700;line-height:1.35;
	margin:0 0 18px !important;min-height:0 !important;
	padding:14px 18px 14px 66px !important;text-align:left}
:is(.woocommerce-error,.woocommerce-info,.woocommerce-message):not(.bizco-alert)::before{
	content:"" !important;display:block !important;position:absolute;
	left:0;top:0;bottom:0;width:48px;height:auto;margin:0;padding:0;
	font-size:0;line-height:0;border:0;border-radius:0;
	background-repeat:no-repeat;background-position:center;background-size:22px 22px}
:is(.woocommerce-error,.woocommerce-info,.woocommerce-message):not(.bizco-alert) li{
	list-style:none !important;margin:0 0 5px !important;padding:0 !important}
:is(.woocommerce-error,.woocommerce-info,.woocommerce-message):not(.bizco-alert) li:last-child{
	margin-bottom:0 !important}
:is(.woocommerce-error,.woocommerce-info,.woocommerce-message):not(.bizco-alert) p{
	margin:0 !important}
:is(.woocommerce-error,.woocommerce-info,.woocommerce-message):not(.bizco-alert) a{
	color:inherit;font-weight:700;text-decoration:underline;text-underline-offset:2px}
.woocommerce-error:not(.bizco-alert){color:#8C1D16}
.woocommerce-error:not(.bizco-alert)::before{background-color:#C6382C;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M12 6v7'/%3E%3Ccircle cx='12' cy='17.4' r='1.35' fill='%23fff' stroke='none'/%3E%3C/svg%3E")}
.woocommerce-info:not(.bizco-alert){color:#3A4F66}
.woocommerce-info:not(.bizco-alert)::before{background-color:#5B7794;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M12 11v7'/%3E%3Ccircle cx='12' cy='6.9' r='1.35' fill='%23fff' stroke='none'/%3E%3C/svg%3E")}
.woocommerce-message:not(.bizco-alert){color:#0F5230}
.woocommerce-message:not(.bizco-alert)::before{background-color:#0F9558;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8.5-9'/%3E%3C/svg%3E")}

.bizco-alert{display:flex;align-items:stretch;background:#fff;border:1px solid #E4EAE6;
	border-radius:12px;overflow:hidden;box-shadow:0 1px 2px rgba(22,33,27,.05);
	font-family:'Outfit',system-ui,sans-serif;margin:0 0 18px;text-align:left}
/* The hook class every block borrows so the cart, checkout and add-to-cart
   scripts can find it also drags in the whole WooCommerce Blocks notice component (white card,
   4px radius, 16px padding, .875em type, 12px gap) plus two Blocksy overrides
   of it (border:none + background repaint on .woocommerce-page, 2rem margin).
   Every box property those set is restored to this component's own values
   here. !important is unavoidable: the blocks sheet marks its padding
   !important, and Blocksy's override is a three-class selector. Scoped to the
   pair so the plain .bizco-alert rule above stays overridable. */
.bizco-alert.wc-block-components-notice-banner{
	align-content:stretch !important;align-items:stretch !important;
	background:#fff !important;border:1px solid #E4EAE6 !important;
	border-radius:12px !important;box-sizing:border-box !important;
	color:inherit !important;display:flex !important;
	font-size:inherit !important;font-weight:inherit !important;
	gap:0 !important;line-height:inherit !important;
	margin:0 0 18px !important;padding:0 !important}
.bizco-alert__mark{flex:none;width:48px;display:flex;align-items:center;justify-content:center}
.bizco-alert__in{flex:1;min-width:0;padding:15px 18px;display:flex;gap:14px;
	align-items:center;flex-wrap:wrap}
.bizco-alert__tx{flex:1;min-width:200px}
.bizco-alert__t{display:block;font-size:15px;font-weight:700;line-height:1.35;margin:0 0 2px}
.bizco-alert__b{margin:0 !important;font-size:14.5px;line-height:1.5;color:#6B7280}
.bizco-alert.is-one .bizco-alert__in{padding:14px 18px}
.bizco-alert.is-one .bizco-alert__t{margin:0}
.bizco-alert__list{margin:4px 0 0 !important;padding:0 !important;list-style:none !important}
.bizco-alert__list li{position:relative;margin:0 0 5px !important;padding:0 0 0 15px !important;
	list-style:none !important;font-size:14.5px;line-height:1.5;color:#6B7280;overflow-wrap:anywhere}
.bizco-alert__list li:last-child{margin-bottom:0 !important}
.bizco-alert__list li::before{content:"";position:absolute;left:2px;top:9px;width:4px;height:4px;
	border-radius:50%;background:currentColor;opacity:.5}
.bizco-alert__act{flex:none}
.bizco-alert a{color:inherit;font-weight:600;text-decoration:underline;text-underline-offset:2px}
.bizco-alert__b a,.bizco-alert__list a{color:#0C7A47;text-decoration:none;font-weight:700}
.bizco-alert__b a:hover,.bizco-alert__list a:hover{color:#0F5230;text-decoration:underline}
/* The shipped tonal neutral, 40px / radius 8 / 15px 600. */
.bizco-alert__btn{display:inline-flex !important;align-items:center;justify-content:center;
	height:40px;padding:0 18px !important;border-radius:8px !important;background:#EEF2F5 !important;
	color:#3A4F66 !important;font-size:15px !important;font-weight:600 !important;
	text-decoration:none !important;border:0 !important;white-space:nowrap;line-height:1 !important;
	box-shadow:none !important;margin:0 !important;min-height:0 !important}
.bizco-alert__btn:hover{background:#E1E8EE !important;color:#192A3D !important}

/* The glyph, as a background image. See the note by bizco_alert_icon. */
.bizco-alert__mark::after{content:"";width:22px;height:22px;background-repeat:no-repeat;
	background-position:center;background-size:contain}
.bizco-alert--e .bizco-alert__mark{background:#C6382C}
.bizco-alert--e .bizco-alert__mark::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M12 6v7'/%3E%3Ccircle cx='12' cy='17.4' r='1.35' fill='%23fff' stroke='none'/%3E%3C/svg%3E")}
.bizco-alert--n .bizco-alert__mark::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M12 11v7'/%3E%3Ccircle cx='12' cy='6.9' r='1.35' fill='%23fff' stroke='none'/%3E%3C/svg%3E")}
.bizco-alert--s .bizco-alert__mark::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8.5-9'/%3E%3C/svg%3E")}
.bizco-alert--e .bizco-alert__t{color:#8C1D16}
.bizco-alert--n .bizco-alert__mark{background:#5B7794}
.bizco-alert--n .bizco-alert__t{color:#3A4F66}
.bizco-alert--s .bizco-alert__mark{background:#0F9558}
.bizco-alert--s .bizco-alert__t{color:#0F5230}

/* Woo gives its own wrapper a bottom margin; the block owns its spacing now. */
.woocommerce-notices-wrapper:has(.bizco-alert){margin-bottom:0}
/* bizco-test-chk01b1n3 v1: centre (fix group TEST-CHK-01-B1-N3, test case CHK-01-B1-N3, owner
   report 2026-09-22: "the alert that comes up on the home page is not centered vertically in the
   whitespace that it sits in, but rather is glued to the top"; owner decision the same day,
   option B of two previewed side by side: keep the band exactly as tall as it is now).
   The block owns its spacing, and that spacing is 18px BELOW and nothing above - right wherever
   something already sits above the box (the shop and category title bands, the search category
   strip, the cart), wrong on a plain page, where the notices wrapper is the FIRST child of
   <article> and the card ends up touching the bottom of the green menu bar with all of its clear
   space underneath. Splitting the 18px into 9 above and 9 below leaves the band the same height
   (94px at 1440, 132px at 390) with the card in the middle of it. Padding, not a margin, so the
   gap cannot collapse out of the band; only the LAST card gives up its bottom margin, so two
   alerts printed at once still stand 18px apart. Scoped to the first-child case so no other
   surface moves, and an empty wrapper holds no .bizco-alert, so a page raising no notice keeps
   every pixel it has. !important because the block-notice hook class two rules up marks the
   same property. */
article > .woocommerce-notices-wrapper:first-child:has(.bizco-alert){padding:9px 0}
/* bizco-test-chk01b1n3 v1a: has-pair. Both halves of the centring carry :has(), so a browser
   that does not know :has() (Firefox before 121) drops BOTH and sees the page exactly as it was
   before this group - rather than dropping only the padding, keeping this line, and squeezing the
   card against the menu bar above and the section below. */
article > .woocommerce-notices-wrapper:first-child:has(.bizco-alert) .bizco-alert:last-child{margin-bottom:0 !important}
@media (max-width:600px){
	:is(.woocommerce-error,.woocommerce-info,.woocommerce-message):not(.bizco-alert){
		padding-left:57px !important}
	:is(.woocommerce-error,.woocommerce-info,.woocommerce-message):not(.bizco-alert)::before{width:42px}
	.bizco-alert__mark{width:42px}
	.bizco-alert__in{padding:13px 15px;gap:10px}
	.bizco-alert__tx{min-width:0}
	.bizco-alert__act{width:100%}
	.bizco-alert__btn{width:100%}
}

/*bizco-head:bizco-stocklim-css*/

/* bizco-stocklim v1: the site's own error alert (snippet 172), placed under the quantity it is about */
.bizco-alert.bizco-stocklim{margin:10px 0 0 !important}
/* shop cards: a sibling right under the price / quantity row (that row does not wrap on phones), compact */
li.product > .bizco-alert.bizco-stocklim{width:100%;box-sizing:border-box;margin:8px 0 0 !important}
li.product > .bizco-alert.bizco-stocklim .bizco-alert__mark{width:34px}
li.product > .bizco-alert.bizco-stocklim .bizco-alert__mark::after{width:18px;height:18px}
li.product > .bizco-alert.bizco-stocklim .bizco-alert__in{padding:9px 11px}
li.product > .bizco-alert.bizco-stocklim .bizco-alert__tx{min-width:0}
li.product > .bizco-alert.bizco-stocklim .bizco-alert__t{font-size:13.5px}
.bizco-rr-row > .bizco-alert.bizco-stocklim{grid-column:1 / -1;margin:2px 0 0 !important}
body.woocommerce-cart .shop_table tr.woocommerce-cart-form__cart-item > td.bizco-stocklim-cell{grid-column:1 / -1;display:block}
body.woocommerce-cart .shop_table td.bizco-stocklim-cell > .bizco-alert.bizco-stocklim{margin:6px 0 0 !important}
/* The Place Order line on the cart and Rapid Restock pages (snippets 145, 147) was plain red text. Owner 2026-09-16:
   every refusal wears the same red alert with the ! as the rest of the site. Same values as snippet 172's legacy
   notice skin; the line's own writers are untouched (they set its text), the green info variant (is-info) is kept. */
p.bizco-cart-payerr:not(.is-info){position:relative;display:block;overflow:hidden;background:#fff;
	border:1px solid #E4EAE6;border-radius:12px;box-shadow:0 1px 2px rgba(22,33,27,.05);
	font-family:'Outfit',system-ui,sans-serif;font-size:15px;font-weight:700;line-height:1.35;color:#8C1D16;
	min-height:48px;padding:14px 18px 14px 66px;text-align:left}
p.bizco-cart-payerr:not(.is-info)[hidden]{display:none}
p.bizco-cart-payerr:not(.is-info)::before{content:"";position:absolute;left:0;top:0;bottom:0;width:48px;
	background-color:#C6382C;background-repeat:no-repeat;background-position:center;background-size:22px 22px;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M12 6v7'/%3E%3Ccircle cx='12' cy='17.4' r='1.35' fill='%23fff' stroke='none'/%3E%3C/svg%3E")}

/*bizco-head:bizco-ilink*/

	.bizco-ft-keepbtn,.bizco-ft-locadd,.bizco-mxadd-changecard,.bizco-mxadd-addcard,
	.bizco-ft-entcard-pm a,.bizco-ft-entcard-pm-warn a,
	.bizco-acct-link,.bizco-ref-copylink,.bizco-lostpw-link,.bizco-auth-link,.bizco-wl-toggle,
	.bizco-mh-textbtn,.bizco-mh-sectlink,.bizco-mh-statlink,.bizco-mh-bizmore a,.bizco-mh-locadd,
	.bizco-mh-bizline a,.bizco-ntf-more a,.bizco-ntf-markall,.bizco-inv-toast-link,.bizco-cart-addcard,a.bizco-ilink,button.bizco-ilink{
		font-family:Outfit,sans-serif !important;font-size:13px !important;font-weight:700 !important;
		color:#0C7A47 !important;text-decoration:none !important;background:transparent !important;
		transform:none !important;box-shadow:none !important;cursor:pointer}
	.bizco-ft-keepbtn:hover,.bizco-ft-locadd:hover,.bizco-mxadd-changecard:hover,.bizco-mxadd-addcard:hover,.bizco-ft-entcard-pm a:hover,.bizco-ft-entcard-pm-warn a:hover,.bizco-acct-link:hover,.bizco-ref-copylink:hover,.bizco-lostpw-link:hover,.bizco-auth-link:hover,.bizco-wl-toggle:hover,.bizco-mh-textbtn:hover,.bizco-mh-sectlink:hover,.bizco-mh-statlink:hover,.bizco-mh-bizmore a:hover,.bizco-mh-locadd:hover,.bizco-mh-bizline a:hover,.bizco-ntf-more a:hover,.bizco-ntf-markall:hover,.bizco-inv-toast-link:hover,.bizco-cart-addcard:hover,a.bizco-ilink:hover,button.bizco-ilink:hover{
		color:#0F5230 !important;text-decoration:underline !important;text-underline-offset:2px !important;
		background:transparent !important;transform:none !important;box-shadow:none !important}
	
/*bizco-head:bizco-faq-home-links*/

	.bizco-faq-section .wp-block-accordion-panel a,
	.bizco-faq-section [class*="accordion-panel"] a{
		color:#0C7A47 !important; font-weight:600; text-decoration:none !important;
		border-bottom:1px solid rgba(12,122,71,.35);
		transition:border-color .15s ease;
	}
	.bizco-faq-section .wp-block-accordion-panel a:hover,
	.bizco-faq-section [class*="accordion-panel"] a:hover{ border-bottom-color:#0C7A47; }
	
/*bizco-head:bizco-prompt-css*/

	body.bizco-noann .ct-header [data-device="desktop"] [data-row="top"],
	body.bizco-noann .ct-header [data-device="mobile"] [data-row="bottom"]{display:none}
	.bizco-footer-banner__cta{white-space:nowrap}
	/* The hold banner swaps the wordmark for the warning mark, so it needs its
	   own box: the img rules are all img-typed and will not reach a span. */
	/* Sized against the banner, not the old wordmark box: the brand rules in
	   post 89 are img-typed but some are not, so this states its own size. */
	.bizco-footer-banner .bizco-footer-banner__brand--warn{
		display:block;width:104px;height:104px;flex:0 0 auto;max-width:none
	}
	.bizco-footer-banner__brand--warn svg{width:100%;height:100%;display:block}
	@media (max-width:1317px){.bizco-footer-banner .bizco-footer-banner__brand--warn{width:88px;height:88px}}
	@media (max-width:767px){.bizco-footer-banner .bizco-footer-banner__brand--warn{width:76px;height:76px;margin-inline:auto}}
	/* Amber CTA to match the mark, dark text because yellow cannot carry white. */
	.bizco-footer-banner--hold .bizco-footer-banner__cta,
	.bizco-footer-banner--past-due .bizco-footer-banner__cta{
		background:#F7DE9A !important;color:#3B2F07 !important;border-color:#E3C878 !important;
	}
	.bizco-footer-banner--hold .bizco-footer-banner__cta:hover,
	.bizco-footer-banner--past-due .bizco-footer-banner__cta:hover{background:#F2D078 !important}
	/* The rule beside the mark is brand green everywhere else; on the hold
	   banner it sits next to an amber mark and an amber button, so it moves too.
	   Both forms are covered: a grid item in the 768-1317 band, a left border
	   on the copy elsewhere. */
	.bizco-footer-banner--past-due .bizco-footer-banner__inner::before{background:#E3C878 !important}
	.bizco-footer-banner--past-due .bizco-footer-banner__copy{border-left-color:#E3C878 !important}
	/* A cancellation is not a warning to act on a deadline, it has already
	   happened, so it reads red rather than amber. */
	body.bizco-cancelled-notice .ct-header [data-device="desktop"] [data-row="top"],
	body.bizco-cancelled-notice .ct-header [data-device="mobile"] [data-row="bottom"]{
		background-color:#F6D2CF !important;
	}
	body.bizco-cancelled-notice .ct-header [data-device="desktop"] [data-row="top"] :is(p,span,a),
	body.bizco-cancelled-notice .ct-header [data-device="mobile"] [data-row="bottom"] :is(p,span,a){
		color:#6B1512 !important;
	}
	.bizco-footer-banner--cancelled .bizco-footer-banner__cta{
		background:#F6D2CF !important;color:#6B1512 !important;border-color:#E0A9A4 !important;
	}
	.bizco-footer-banner--cancelled .bizco-footer-banner__cta:hover{background:#F0BFBA !important}
	.bizco-footer-banner--cancelled .bizco-footer-banner__inner::before{background:#E0A9A4 !important}
	.bizco-footer-banner--cancelled .bizco-footer-banner__copy{border-left-color:#E0A9A4 !important}
	/* bizco-dispute-hold v3b: width (owner 2026-09-28). The long cancelled line wraps under the title instead of stretching the card to 90% of the page. */
	.bizco-footer-banner--cancelled .bizco-footer-banner__subtext,
	.bizco-home-cta--cancelled .bizco-footer-banner__subtext{max-width:460px}
	/* AN ACCOUNT ON HOLD GETS A WARNING BAR, NOT THE BRAND GREEN ONE.
	   past_due is the only state where every membership is frozen, so it is the
	   only one that earns the colour change. Both header rows are covered: the
	   desktop announcement lives in [data-row=top], the phone one in
	   [data-row=bottom], and post 89 paints the whole mobile header green with
	   !important, so the row override needs it too. */
	body.bizco-state-past_due .ct-header [data-device="desktop"] [data-row="top"],
	body.bizco-partial-hold .ct-header [data-device="desktop"] [data-row="top"],
	body.bizco-state-past_due .ct-header [data-device="mobile"] [data-row="bottom"],
	body.bizco-partial-hold .ct-header [data-device="mobile"] [data-row="bottom"]{
		background-color:#F7DE9A !important;
	}
	body.bizco-state-past_due .ct-header [data-device="desktop"] [data-row="top"] :is(p,span,a),
	body.bizco-partial-hold .ct-header [data-device="desktop"] [data-row="top"] :is(p,span,a),
	body.bizco-state-past_due .ct-header [data-device="mobile"] [data-row="bottom"] :is(p,span,a),
	body.bizco-partial-hold .ct-header [data-device="mobile"] [data-row="bottom"] :is(p,span,a){
		color:#3B2F07 !important;
	}
	body.bizco-state-past_due .ct-header [data-device="desktop"] [data-row="top"] a,
	body.bizco-state-past_due .ct-header [data-device="mobile"] [data-row="bottom"] a{
		text-decoration-color:#8A6D1A !important;
	}
	/* THE ANNOUNCEMENT NEVER OVERFLOWS ITS BAR.
	   text-align:center cannot centre a line wider than its box - the excess
	   all goes to the right - so the guarantee has to be that no tier is ever
	   wider than the container. These are the no-JS defaults, deliberately
	   conservative; the fit script upgrades a tier whenever there is room. */
	.bizco-ann{white-space:nowrap;text-align:center;margin:0}
	/* THE BAR MUST NOT BE ABLE TO WIDEN THE PAGE. On the phone row the copy is
	   nowrap, so a tier that does not fit pushed the document wider, which
	   changed the bar's OWN clientWidth, which changed which tier fits, which
	   changed the width again. Below ~300px that settled into a permanent
	   two-state oscillation and the whole page shook. Clipped here, the
	   available width is a constant and the fit converges in one pass. */
	/* THE BAR IS A FLEX ITEM SIZED BY ITS OWN CONTENT, which is the whole bug:
	   measured at 300px its clientWidth swung between 244 and 264 depending on
	   which tier was showing, with the document a constant 300 and not one
	   window resize event. A wide tier grew the bar, the bigger bar made the
	   wide tier fit, the narrow tier shrank it again: a loop with no outside
	   cause, which is why it only appeared once nothing fit.
	   flex:1 1 0 with min-width:0 takes the width from the ROW instead, so the
	   available space is a constant and the fit converges in one pass. */
	/* THE FLEX ITEM IS BLOCKSY'S .ct-header-text, NOT this paragraph, which is
	   why sizing .bizco-ann changed nothing. Walking the chain at 300px:
	     p.bizco-ann        244 / 264
	     .entry-content     244 / 264
	     .ct-header-text    244 / 264   <- flex item, hugs its content
	     (its parent)       264         <- constant
	   A wide tier grew that item, the bigger box made the wide tier fit, the
	   narrow tier shrank it again. No window resize, no outside cause: the
	   copy was sizing the box that decides which copy fits. min-width:0 with
	   flex:1 1 0 takes the width from the ROW, so it is a constant.
	   Scoped with :has() so other header-text elements are untouched.
	   flex-basis:100% rather than 0 so it claims the whole row: at basis 0 it
	   settled on 244 of an available 264 and wrapped sooner than it had to. */
	.ct-header-text:has(.bizco-ann){min-width:0;flex:1 1 100%}
	.bizco-ann{overflow:hidden;max-width:100%;min-width:0}
	.bizco-ann-full,.bizco-ann-med,.bizco-ann-short,.bizco-ann-xs{display:none}
	.bizco-ann-full{display:inline}
	@media (max-width:999.98px){.bizco-ann-full{display:none}.bizco-ann-med{display:inline}}
	@media (max-width:620px){.bizco-ann-med{display:none}.bizco-ann-short{display:inline}}
	@media (max-width:359.98px){.bizco-ann-short{display:none}.bizco-ann-xs{display:inline}}
	/* Once the script has measured, its pick wins at every width. */
	.bizco-ann[data-tier] .bizco-ann-full,
	.bizco-ann[data-tier] .bizco-ann-med,
	.bizco-ann[data-tier] .bizco-ann-short,
	.bizco-ann[data-tier] .bizco-ann-xs{display:none}
	.bizco-ann[data-tier="full"] .bizco-ann-full,
	.bizco-ann[data-tier="med"] .bizco-ann-med,
	.bizco-ann[data-tier="short"] .bizco-ann-short,
	.bizco-ann[data-tier="xs"] .bizco-ann-xs{display:inline}
	/* Last resort: even the shortest string is wider than the bar. Wrapping
	   keeps it centred; overflowing does not. Outguns post 89's mobile
	   white-space:nowrap !important, which is 0,4,0. */
	.ct-header [data-device] [data-row] .entry-content p.bizco-ann-wrap{white-space:normal !important}
	/* One mark per row. Both bars are light now (grey #e9e9e9), so both take
	   the green pill; the white "inverted" one belonged to the old green phone
	   header and would float as a white badge on grey. Warning bars emit a
	   single green mark and skip this. */
	.bizco-ann-mk--m{display:none}
	.ct-header [data-device="mobile"] .bizco-ann-mk--d{display:none}
	.ct-header [data-device="mobile"] .bizco-ann-mk--m{display:inline}
	/* Optional clauses, each named for the width it disappears at. The
	   announcement row is nowrap, so every phone string has to fit inside
	   .ct-container, which is 88% of the viewport. */
	@media (max-width:399.98px){.bizco-ann-hide-400{display:none}}
	@media (max-width:389.98px){.bizco-ann-hide-390{display:none}}
	@media (max-width:379.98px){.bizco-ann-hide-380{display:none}}
	@media (max-width:359.98px){.bizco-cta-hide-360{display:none}}
	@media (max-width:329.98px){.bizco-ann-hide-330{display:none}}
	@media (max-width:349.98px){.bizco-ann-hide-350{display:none}}
	
/*bizco-head:bizco-req*/
.required,abbr.required,span.required,.woocommerce form .form-row .required,.wc-block-components-label .required,.wpforms-required-label{color:#0F9558 !important;text-decoration:none;border:0 !important}
/*bizco-head:bizco-mk-css*/

/* bizco-mk v11 -- home markup chain */
.bizco-mk-sprite{position:absolute;width:0;height:0;overflow:hidden}
.bizco-mk-sr{position:absolute !important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.bizco-mk{margin:0}
.bizco-mk *{box-sizing:border-box}
.bizco-mk-ic{display:block;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;color:#2D2D2D}
.bizco-mk-key{display:block;width:22px;height:4px;border-radius:0;background:#C8D0CB}
.bizco-mk-lockup{display:block;width:auto;max-width:none}
.bizco-mk-chip{display:inline-flex;align-items:baseline;gap:1px;background:#fff;border:1px solid #DBE2DD;border-radius:4px;
  box-shadow:0 1px 2px rgba(22,26,28,.06);padding:3px 12px;font-size:13.5px;font-weight:800;color:#6E767C;line-height:1.3;white-space:nowrap}
.bizco-mk-chip i{font-style:normal}
.bizco-mk-chip em{font-style:normal;display:inline-block;filter:blur(3.2px)}
.bizco-mk-punit{flex:none;display:inline-flex;align-items:baseline;gap:11px;background:#fff;border-radius:5px;
  padding:8px 18px 9px;box-shadow:0 3px 10px rgba(9,54,31,.18)}
.bizco-mk-plab{line-height:1;font-size:10px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:#4C8A66;white-space:nowrap}
.bizco-mk-punit b{font-size:17.5px;font-weight:800;color:#1A7A4A;line-height:1;white-space:nowrap}

/* ============ horizontal ============ */
.bizco-mk-v{display:none}
.bizco-mk-h{
  --e:92px; --ei:60px; --ef:14px; --fs:calc(var(--ei) * .18 + 2px);
  --n:48px; --nf:13.5px; --nt:53px;
  --lp:6px; --rp:14px; --stub:16px; --ah:13px; --ahh:7px; --nsh:8px;
  --ch:44px; --cp:11px; --cf:13.5px; --clf:10px; --clo:11px;
  --bh:58px; --bp:22px; --lk:36px; --uf:17.5px; --plf:10px; --ug:11px; --up:9px 18px 9px;
  --tf:20px; --tsf:10.5px; --tp:9px 14px 10px;
  --cardp:26px;
}
.bizco-mk-card{background:#fff;border:1px solid #E4EAE6;border-radius:8px;box-shadow:0 6px 24px rgba(22,26,28,.05);padding:var(--cardp)}
.bizco-mk-flow{position:relative;display:flex;align-items:flex-start}
.bizco-mk-corner{position:absolute;left:0;font-weight:700;font-size:11px;letter-spacing:.1em;text-transform:uppercase;
  line-height:1.32;white-space:nowrap;color:#6B7280}
.bizco-mk-corner.is-top{top:20px}
.bizco-mk-corner.is-bot{top:auto;bottom:20px;color:#1A7A4A}
.bizco-mk-corner .bizco-mk-key{margin-bottom:10px}
.bizco-mk-corner.is-bot .bizco-mk-key{height:4px;background:#1A7A4A}
.bizco-mk-end{position:relative;z-index:2;flex:none;width:var(--e);height:308px}
.bizco-mk-end.is-start{width:var(--ei)}
.bizco-mk-endin{position:absolute;left:50%;top:calc(172px - var(--ei)/2);transform:translateX(-50%);display:flex;
  flex-direction:column;align-items:center;font-size:var(--ef);font-weight:500;color:#2D2D2D;line-height:1.3}
.bizco-mk-endin .bizco-mk-ic{width:var(--ei);height:var(--ei)}
.bizco-mk-endin span{white-space:nowrap;margin-top:9px}
.bizco-mk-fork,.bizco-mk-merge{position:relative;flex:none;height:308px}
.bizco-mk-fork,.bizco-mk-merge{width:52px}
.bizco-mk-el{position:absolute;display:block;box-sizing:border-box}
.bizco-mk-ar{position:absolute;display:block;width:0;height:0}
/* Where each route starts, measured off the icon so it holds at every tier.
   --fs is set so the white gap between the factory and the line matches the gap
   the arrowheads leave in front of the restaurant, which is
   (--e - --ei)/2 plus the store's own leading whitespace. The routes' first
   segment ends at x=28 (the corner square), hence the width. */
.bizco-mk-fs{left:var(--fs);width:calc(28px - var(--fs))}
.bizco-mk-lanes{flex:1;min-width:0;display:flex;flex-direction:column}
.bizco-mk-lane{position:relative;height:144px}
.bizco-mk-lane+.bizco-mk-lane{margin-top:20px}
.bizco-mk-run{position:absolute;left:0;right:0;top:66px;height:48px;display:flex;align-items:center}
.bizco-mk-route{position:relative;flex:1;min-width:0;height:100%;display:flex;align-items:center}
.bizco-mk-node{position:relative;z-index:2;flex:none;width:var(--n);height:var(--n);margin-bottom:calc(var(--nsh) * 2)}
.bizco-mk-node .bizco-mk-ic{width:var(--n);height:var(--n)}
.bizco-mk-node span{position:absolute;left:50%;top:var(--nt);transform:translateX(-50%);white-space:nowrap;
  font-size:var(--nf);font-weight:500;color:#2D2D2D;line-height:1.3}
.bizco-mk-leg{position:relative;z-index:1;flex:1 1 auto;display:flex;align-items:center;height:48px;padding:0 var(--rp) 0 var(--lp)}
.bizco-mk-route .bizco-mk-leg:first-child{padding-left:0}
.bizco-mk-route .bizco-mk-leg.is-last{padding-right:0}
.bizco-mk-ln{position:relative;flex:1 1 auto;min-width:var(--stub);height:4px;border-radius:0;background:#C8D0CB}
.bizco-mk-ln.is-tip::after{content:"";position:absolute;right:calc(2px - var(--ah));top:50%;transform:translateY(-50%);
  border-left:var(--ah) solid #C8D0CB;border-top:var(--ahh) solid transparent;border-bottom:var(--ahh) solid transparent}
.bizco-mk-leg.is-biz{--ah:13px;--ahh:7px}
.bizco-mk-leg.is-biz .bizco-mk-ln{height:4px;background:#1A7A4A}
.bizco-mk-leg.is-biz .bizco-mk-ln.is-tip::after{border-left-color:#1A7A4A}
.bizco-mk-cap{position:relative;z-index:2;flex:none;display:flex;align-items:center;height:var(--ch);padding:0 var(--cp);
  border-radius:6px;background:#E8EDEA;border:1.5px solid #CFD8D2;margin:0 -2px}
.bizco-mk-cap .bizco-mk-chip{font-size:var(--cf)}
.bizco-mk-caplab{position:absolute;left:50%;bottom:calc(100% + var(--clo));transform:translateX(-50%);white-space:nowrap;
  font-size:var(--clf);font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:#9AA0A4}
.bizco-mk-bcap{position:relative;z-index:2;flex:1 1 auto;display:flex;align-items:center;gap:13px;height:var(--bh);
  padding:0 var(--bp);border-radius:8px;background:#1A7A4A;box-shadow:0 8px 22px rgba(26,122,74,.26);margin:0 -2px}
.bizco-mk-bcap .bizco-mk-lockup{flex:none;height:var(--lk);margin-left:10px}
.bizco-mk-bcap .bizco-mk-punit{padding:var(--up);gap:var(--ug)}
.bizco-mk-bcap .bizco-mk-punit b{font-size:var(--uf)}
.bizco-mk-bcap .bizco-mk-plab{font-size:var(--plf)}
.bizco-mk-spread{flex:1 1 auto;min-width:10px}
.bizco-mk-tag{flex:none;position:relative;z-index:3;background:#fff;border:1.5px solid #B8C2BB;border-radius:4px;
  display:flex;flex-direction:column;justify-content:center;align-items:center;margin-left:-2px;
  text-align:center;padding:var(--tp);box-shadow:0 3px 12px rgba(22,26,28,.09)}
.bizco-mk-tag b{display:block;font-size:var(--tf);font-weight:800;line-height:1;color:#161A1C}
.bizco-mk-tag i{display:block;font-style:normal;font-size:var(--tsf);font-weight:600;letter-spacing:.06em;color:#9AA0A4;line-height:1;margin-top:4px}
/* bizco-ui-pricebox v1: tag (owner 2026-09-25, option A): the BIZCO price tag is solid green, no light green fill */
.bizco-mk-lane.is-biz .bizco-mk-tag{background:#1A7A4A;border-color:#1A7A4A;box-shadow:0 6px 16px rgba(26,122,74,.26)}
.bizco-mk-lane.is-biz .bizco-mk-tag b{color:#fff}
.bizco-mk-lane.is-biz .bizco-mk-tag i{color:rgba(255,255,255,.78)}

/* size tiers -- the graphic is fluid, these just set how much of it is chrome */
@media (min-width:1500px) and (max-width:1799.98px){.bizco-mk-h{
  --e:78px; --ei:52px; --ef:13px; --n:42px; --nf:12.5px; --nt:47px;
  --lp:5px; --rp:12px; --stub:14px; --ch:40px; --cp:9px; --cf:12.5px; --clf:9.5px; --clo:9px;
  --bh:54px; --bp:15px; --lk:32px; --uf:16px; --ug:9px; --up:8px 14px 8px;
  --tf:18px; --tp:8px 11px 9px; --cardp:20px; --nsh:7px;}}
@media (min-width:1000px) and (max-width:1199.98px){.bizco-mk-h{
  --e:78px; --ei:52px; --ef:13px; --n:42px; --nf:12.5px; --nt:47px;
  --lp:5px; --rp:12px; --stub:14px; --ch:40px; --cp:9px; --cf:12.5px; --clf:9.5px; --clo:9px;
  --bh:54px; --bp:15px; --lk:32px; --uf:16px; --ug:9px; --up:8px 14px 8px;
  --tf:18px; --tp:8px 11px 9px; --cardp:20px; --nsh:7px;}}
@media (min-width:1200px) and (max-width:1499.98px){.bizco-mk-h{
  --e:64px; --ei:44px; --ef:12px; --n:36px; --nf:11.5px; --nt:41px;
  --lp:4px; --rp:10px; --stub:10px; --ah:12px; --ahh:6px;
  --ch:34px; --cp:7px; --cf:11.5px; --clf:9px; --clo:8px;
  --bh:46px; --bp:12px; --lk:27px; --uf:14px; --plf:9px; --ug:8px; --up:7px 12px 7px;
  --tf:16px; --tsf:9.5px; --tp:7px 9px 8px; --cardp:14px; --nsh:6px;}}
@media (min-width:880px) and (max-width:999.98px){.bizco-mk-h{
  --e:64px; --ei:44px; --ef:12px; --n:36px; --nf:11.5px; --nt:41px;
  --lp:4px; --rp:10px; --stub:10px; --ah:12px; --ahh:6px;
  --ch:34px; --cp:7px; --cf:11.5px; --clf:9px; --clo:8px;
  --bh:46px; --bp:12px; --lk:27px; --uf:14px; --plf:9px; --ug:8px; --up:7px 12px 7px;
  --tf:16px; --tsf:9.5px; --tp:7px 9px 8px; --cardp:14px; --nsh:6px;}}

/* ============ vertical ============ */
@media (max-width:879.98px){
  .bizco-mk-h{display:none}
  .bizco-mk-v{display:block}
}
.bizco-mk-vcard{background:#fff;border:1px solid #E4EAE6;border-radius:8px;box-shadow:0 5px 18px rgba(22,26,28,.05);
  padding:20px 16px 22px;display:grid;grid-template-columns:1fr;gap:0}
.bizco-mk-vlane{min-width:0}
.bizco-mk-vlane+.bizco-mk-vlane{border-top:1px solid #EDF1EE;margin-top:20px;padding-top:20px}
@media (min-width:660px){
  .bizco-mk-vcard{grid-template-columns:1fr 1fr;padding:22px 18px 24px}
  .bizco-mk-vlane:first-child{padding-right:20px}
  .bizco-mk-vlane+.bizco-mk-vlane{border-top:0;border-left:1px solid #EDF1EE;margin-top:0;padding-top:0;padding-left:20px}
  .bizco-mk-vlane{display:flex;flex-direction:column}
  .bizco-mk-vroute{margin-bottom:18px}
  .bizco-mk-vcard .bizco-mk-vprice{margin-top:auto}
}
.bizco-mk-vlab{display:flex;align-items:center;gap:9px;font-size:10.5px;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:#6B7280;margin-bottom:16px}
.bizco-mk-vlab .bizco-mk-key{flex:none}
.bizco-mk-vlane.is-biz .bizco-mk-vlab{color:#1A7A4A}
.bizco-mk-vlane.is-biz .bizco-mk-vlab .bizco-mk-key{height:4px;background:#1A7A4A}
.bizco-mk-vroute{display:flex;flex-direction:column;align-items:center}
.bizco-mk-vnode{display:flex;flex-direction:column;align-items:center;gap:6px}
.bizco-mk-vnode .bizco-mk-ic{width:38px;height:38px}
.bizco-mk-vnode span{font-size:14px;font-weight:500;color:#2D2D2D;line-height:1.3}
.bizco-mk-vleg{display:flex;flex-direction:column;align-items:center;margin:9px 0 19px;max-width:100%}
.bizco-mk-vln{position:relative;flex:none;width:4px;height:15px;border-radius:0;background:#C8D0CB}
.bizco-mk-vln.is-tip::after{content:"";position:absolute;left:50%;bottom:-8px;transform:translateX(-50%);
  border-left:7px solid transparent;border-right:7px solid transparent;border-top:11px solid #C8D0CB}
.bizco-mk-vlane.is-biz .bizco-mk-vln{width:4px;background:#1A7A4A}
.bizco-mk-vlane.is-biz .bizco-mk-vln.is-tip::after{border-top-color:#1A7A4A;border-left-width:7px;border-right-width:7px;border-top-width:11px;bottom:-9px}
.bizco-mk-vcap{display:inline-flex;align-items:center;gap:11px;height:42px;padding:0 15px;border-radius:6px;
  background:#E8EDEA;border:1.5px solid #CFD8D2;max-width:100%;margin:-2px 0}
.bizco-mk-vcaplab{font-size:9.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#9AA0A4;white-space:nowrap}
.bizco-mk-vbcap{display:flex;flex-direction:column;align-items:center;gap:12px;padding:15px 17px 16px;border-radius:8px;
  background:#1A7A4A;box-shadow:0 8px 22px rgba(26,122,74,.26);max-width:100%;margin:-2px 0}
.bizco-mk-vbcap .bizco-mk-lockup{height:30px}
.bizco-mk-vprice{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:18px;
  border:1.5px solid #B8C2BB;border-radius:4px;padding:11px 15px}
.bizco-mk-vprice span{font-size:13.5px;color:#6B7280}
.bizco-mk-vprice b{font-size:21px;font-weight:800;line-height:1;color:#161A1C}
.bizco-mk-vprice b i{font-style:normal;font-size:12px;font-weight:600;color:#9AA0A4}
/* bizco-ui-pricebox v1: box (owner 2026-09-25, option A): the BIZCO price box is solid green, no light green fill */
.bizco-mk-vlane.is-biz .bizco-mk-vprice{background:#1A7A4A;border-color:#1A7A4A;box-shadow:0 6px 16px rgba(26,122,74,.22)}
.bizco-mk-vlane.is-biz .bizco-mk-vprice span{color:rgba(255,255,255,.88)}
.bizco-mk-vlane.is-biz .bizco-mk-vprice b{color:#fff}
.bizco-mk-vlane.is-biz .bizco-mk-vprice b i{color:rgba(255,255,255,.72)}
@media (max-width:389.98px){
  .bizco-mk-vcard{padding:18px 12px 20px}
  .bizco-mk-vcap{height:38px;padding:0 11px;gap:8px}
  .bizco-mk-vcaplab{font-size:9px;letter-spacing:.08em}
  .bizco-mk-chip{font-size:12.5px;padding:2px 10px}
  .bizco-mk-vbcap{padding:13px 13px 14px;gap:10px}
  .bizco-mk-punit{padding:6px 13px 7px;gap:8px}
  .bizco-mk-plab{font-size:9px;letter-spacing:.08em}
  .bizco-mk-punit b{font-size:15px}
  .bizco-mk-vprice b{font-size:19px}
}

/* ============ section shell ============ */
/* no max-width: the section keeps the same rails as every other home section */
.bizco-cmp-intro .bizco-cmp-head{font-family:'Outfit',sans-serif;font-weight:800 !important;
  font-size:clamp(30px,2.6vw,46px) !important;line-height:1.05 !important;letter-spacing:-.02em;
  margin:0 !important;color:#161A1C}
.bizco-cmp-intro .bizco-cmp-rule{margin:20px 0 20px !important}
/* bizco-ui-cmprule v1 (owner 2026-09-24): the bar stays a flat 60x6 at every width; post 89 still turns
   .bizco-cmp-rule into a 3px x 3.5rem vertical divider at 481-781px, left over from an older row layout */
.bizco-cmp-intro .bizco-cmp-rule{width:60px !important;max-width:60px !important;height:6px !important}
.bizco-cmp-intro .bizco-cmp-sub{margin-bottom:0 !important;margin-left:0 !important;margin-right:auto !important;max-width:40ch}
.bizco-cmp-section .bizco-cmp-quality{margin-top:18px !important}
.bizco-mk .bizco-cmp-quality{margin-top:16px !important}
.bizco-cmp-section .bizco-cmp-cta-wrap{margin:26px 0 0 !important}
@media (max-width:600px){
  .bizco-cmp-section .bizco-cmp-cta-wrap{text-align:center !important}
}

/* copy on the LEFT of the chart while there is room for both */
@media (min-width:1200px){
  .bizco-cmp-section{
    display:grid;
    grid-template-columns:minmax(240px,320px) 1fr;
    grid-template-rows:1fr auto auto 1fr;
    column-gap:clamp(24px,2.4vw,44px);
  }
  .bizco-cmp-intro{grid-column:1;grid-row:2}
  .bizco-cmp-section .bizco-cmp-cta-wrap{grid-column:1;grid-row:3;margin:22px 0 0 !important}
  .bizco-mk{grid-column:2;grid-row:1 / span 4}
  .bizco-cmp-intro .bizco-cmp-sub{max-width:none}
}

