.wcb2b-product-actions {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.6rem;
}

.wcb2b-store form.cart .wcb2b-inquire-now { margin-inline-start: 0.6rem; }
/* Visibility switches must win over both page-builder rules and the plugin's
 * own opt-in global visual designer, which deliberately uses two specificity
 * guards for button styling. Keep the same guards here and add the state class
 * so a disabled action can never be made visible by presentation CSS. */
body.wcb2b-store.wcb2b-hide-add-button .wcb2b-add-inquiry:not(#wcb2b-theme-style):not(#wcb2b-theme-style-2),
body.wcb2b-store.wcb2b-hide-add-button form.cart .single_add_to_cart_button:not(#wcb2b-theme-style):not(#wcb2b-theme-style-2),
body.wcb2b-store.wcb2b-hide-now-button .wcb2b-inquire-now:not(#wcb2b-theme-style):not(#wcb2b-theme-style-2),
body.wcb2b-store.wcb2b-hide-product-actions form.cart { display: none !important; }
.wcb2b-store.wcb2b-hide-add-button form.cart .wcb2b-inquire-now { margin-inline-start: 0; }
.wcb2b-inquire-now[aria-busy="true"] { opacity: 0.65; cursor: wait; }

/* Theme-owned header cart entry points. This deliberately avoids form.cart and
 * single_add_to_cart_button, which are reused for the B2B inquiry workflow. */
.wcb2b-store.wcb2b-hide-theme-cart :is(
	.site-header-cart,
	.cart-contents,
	.et-cart-info,
	.ast-site-header-cart,
	.ast-header-woo-cart,
	.wcmenucart,
	.ct-cart-item,
	.header-cart-wrap,
	.wc-menu-item,
	.fusion-widget-cart,
	.wd-header-cart,
	.elementor-menu-cart__toggle,
	.wc-block-mini-cart,
	.wp-block-woocommerce-mini-cart
) { display: none !important; }

/* Block themes may make the native simple-product cart a two-control grid.
 * The third inquiry button would then stretch across a new full-width row. */
.wcb2b-store.single-product form.cart:not(.variations_form):not(.grouped_form) {
	display: flex;
	flex-flow: row wrap;
	align-items: stretch;
	gap: 0.6rem;
}
.wcb2b-store.single-product form.cart:not(.variations_form):not(.grouped_form) > :is(.quantity, .single_add_to_cart_button, .wcb2b-inquire-now) {
	flex: 0 0 auto;
	margin: 0;
	width: auto;
}

.wcb2b-variable-parent-inquiry {
	display: flex;
	flex-flow: row wrap;
	align-items: stretch;
	gap: 0.6rem;
	/* The availability message immediately before this wrapper may be hidden by
	 * a product-grid module. Keeping spacing on the wrapper would then leave an
	 * invisible 1rem row and misalign this product's actions with its siblings. */
	margin-top: 0;
}
.wcb2b-variable-parent-inquiry > :is(.quantity, .single_add_to_cart_button, .wcb2b-inquire-now) {
	flex: 0 0 auto;
	margin: 0;
	width: auto;
}

.wcb2b-bundle-summary {
	margin: 1rem 0;
	border-block: 1px solid #dcdcde;
	background: transparent;
	color: inherit;
}
.wcb2b-bundle-summary__details { margin: 0; padding: 0; }
.wcb2b-bundle-summary__details > summary,
.wcb2b-bundle-summary__heading {
	display: flex;
	align-items: center;
	gap: .65rem;
	box-sizing: border-box;
	min-height: 44px;
	margin: 0;
	padding: .7rem 0;
	color: inherit;
	font: inherit;
}
.wcb2b-bundle-summary__details > summary { cursor: pointer; list-style: none; }
.wcb2b-bundle-summary__details > summary::-webkit-details-marker { display: none; }
.wcb2b-bundle-summary__details > summary::marker { content: ""; }
.wcb2b-bundle-summary__details > summary:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
.wcb2b-bundle-summary__details[open] > summary { border-bottom: 1px solid #dcdcde; }
.wcb2b-bundle-summary__title { min-width: 0; font-weight: 650; }
.wcb2b-bundle-summary__count { margin-inline-start: auto; color: #646970; font-size: .85em; white-space: nowrap; }
.wcb2b-bundle-summary__toggle { color: #2271b1; font-size: .85em; font-weight: 600; white-space: nowrap; }
.wcb2b-bundle-summary__details > summary::after { display: inline-block; content: "\2304"; line-height: 1; transform: rotate(0deg); transition: transform .15s ease; }
.wcb2b-bundle-summary__toggle--open { display: none; }
.wcb2b-bundle-summary__details[open] .wcb2b-bundle-summary__toggle--closed { display: none; }
.wcb2b-bundle-summary__details[open] .wcb2b-bundle-summary__toggle--open { display: inline; }
.wcb2b-bundle-summary__details[open] > summary::after { transform: rotate(180deg); }
.wcb2b-bundle-summary__items { display: grid; gap: 0; margin: 0; padding: .2rem 0; list-style: none; }
.wcb2b-bundle-summary__items li { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; margin: 0; padding: .7rem 0; border-top: 1px solid #dcdcde; }
.wcb2b-bundle-summary__items li:first-child { border-top: 0; }
.wcb2b-bundle-summary small { color: #646970; }
.wcb2b-bundle-component-detail { min-width: 0; }
.wcb2b-bundle-component-name { font-weight: 650; }
.wcb2b-bundle-component-name a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: 2px; }
.wcb2b-bundle-component-detail p { margin: .25rem 0; color: #50575e; font-size: .88rem; line-height: 1.45; }
.wcb2b-bundle-component-link { display: inline-block; margin-top: .1rem; font-size: .82rem; font-weight: 600; }
.wcb2b-bundle-component-quantity { flex: 0 0 auto; white-space: nowrap; }
.wcb2b-bundle-summary--compact .wcb2b-bundle-summary__items { padding-top: 0; }
.wcb2b-store form.wcb2b-bundle-form { display: flex; flex-flow: row wrap; align-items: stretch; gap: .6rem; }
.wcb2b-store form.wcb2b-bundle-form > :is(.quantity, .single_add_to_cart_button, .wcb2b-inquire-now) { flex: 0 0 auto; width: auto; margin: 0; }
.wcb2b-bundle-price small { font-size: .75em; font-weight: 400; }

.wcb2b-quote-form {
	margin: 0;
	background: #fff;
}

.wcb2b-quote-form > h2 {
	margin: 0 2.75rem 0.35rem 0;
	font-size: clamp(1.45rem, 3vw, 2rem);
	line-height: 1.2;
}

.wcb2b-quote-form > h2 + p {
	margin-top: 0;
	color: #646970;
}

.wcb2b-inquiry-dialog {
	/* List dialogs inherit a 1rem workspace; footer-mounted quick dialogs do not.
	 * Give both contexts the same baseline before button presets/custom CSS. */
	font-size: 1rem;
	line-height: 1.6;
	width: min(760px, calc(100vw - 2rem));
	max-width: 760px;
	max-height: calc(100vh - 2rem);
	padding: 0;
	border: 0;
	border-radius: 16px;
	overflow: auto;
	-ms-overflow-style: none;
	scrollbar-width: none;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
}

/* Keep long popup content scrollable without exposing browser-specific rails. */
.wcb2b-inquiry-dialog,
.wcb2b-inquiry-dialog * {
	-ms-overflow-style: none;
	scrollbar-width: none;
}
.wcb2b-inquiry-dialog::-webkit-scrollbar,
.wcb2b-inquiry-dialog *::-webkit-scrollbar {
	display: none;
	width: 0;
	height: 0;
}

.wcb2b-inquiry-dialog:not([open]) {
	display: none;
}

.wcb2b-inquiry-dialog::backdrop {
	background: rgba(0, 0, 0, 0.58);
}

.wcb2b-inquiry-dialog__panel {
	position: relative;
	padding: clamp(1.25rem, 4vw, 2.5rem);
}

.wcb2b-inquiry-dialog__close {
	position: absolute;
	top: 0.6rem;
	right: 0.75rem;
	z-index: 1;
	width: 2.25rem;
	height: 2.25rem;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: #50575e;
	font-size: 1.75rem;
	line-height: 1;
	cursor: pointer;
}

.wcb2b-inquiry-dialog__close:hover,
.wcb2b-inquiry-dialog__close:focus-visible {
	background: #f0f0f1;
	color: #1d2327;
}

.wcb2b-inquiry-dialog.is-open {
	position: fixed;
	top: 50%;
	left: 50%;
	z-index: 100000;
	display: block;
	transform: translate(-50%, -50%);
	box-shadow: 0 0 0 100vmax rgba(0, 0, 0, 0.58), 0 20px 60px rgba(0, 0, 0, 0.3);
}

body.wcb2b-dialog-open {
	overflow: hidden;
}

.wcb2b-form-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.2rem 1rem;
}

.wcb2b-form-field--full {
	grid-column: 1 / -1;
}

.wcb2b-form-field {
	margin: 0 0 0.9rem;
}

.wcb2b-form-field label {
	margin-bottom: 0.35rem;
	color: #1d2327;
	font-size: 0.92rem;
	font-weight: 600;
}

.wcb2b-form-field input,
.wcb2b-form-field select,
.wcb2b-form-field textarea {
	box-sizing: border-box;
	width: 100%;
	min-height: 44px;
	padding: 0.68rem 0.78rem;
	border: 1px solid #c3c4c7;
	border-radius: 8px;
	background: #fff;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.wcb2b-form-field textarea {
	height: var(--wcb2b-textarea-height, 140px);
	min-height: var(--wcb2b-textarea-height, 140px);
	max-height: var(--wcb2b-textarea-height, 140px);
	resize: none;
}

.wcb2b-form-field input:focus,
.wcb2b-form-field select:focus,
.wcb2b-form-field textarea:focus {
	border-color: #2271b1;
	outline: 0;
	box-shadow: 0 0 0 2px rgba(34, 113, 177, 0.18);
}

.wcb2b-store .wcb2b-quote-form button[type="submit"] {
	min-height: 46px;
	padding-inline: 1.4rem;
	border-radius: 8px;
	font-weight: 600;
}
.wcb2b-submit-action { display: flex; width: 100%; }
.wcb2b-submit-align--left { justify-content: flex-start; }
.wcb2b-submit-align--center { justify-content: center; }
.wcb2b-submit-align--right { justify-content: flex-end; }
.wcb2b-submit-action > button[type="submit"] { max-width: 100%; }

.wcb2b-quote-summary {
	container: wcb2b-quote-summary / inline-size;
	margin: 1.25rem 0 1.5rem;
	padding: 0;
	border: 1px solid #e2e7eb;
	border-radius: 12px;
	background: #fff;
	color: #202b36;
	font-size: 1rem;
	line-height: 1.5;
}
.wcb2b-quote-summary__header {
	display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
	gap: .6rem 1rem; padding: 1rem 1.1rem; border-bottom: 1px solid #e2e7eb;
}
.wcb2b-quote-summary .wcb2b-quote-summary__header h3 { margin: 0; color: inherit; font-size: 1.05rem; font-weight: 650; line-height: 1.4; }
.wcb2b-quote-summary__stats { display: flex; flex-wrap: wrap; gap: .4rem 1rem; margin: 0; }
.wcb2b-quote-summary__stats > div { display: flex; align-items: baseline; gap: .35rem; }
.wcb2b-quote-summary__stats dt { color: #5d6874; font-size: .78rem; font-weight: 400; }
.wcb2b-quote-summary__stats dd { margin: 0; font-size: .875rem; font-weight: 650; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.wcb2b-quote-summary__scroll {
	max-height: min(22rem, 45vh);
	overflow-y: auto;
	overflow-x: hidden;
	border-radius: 0 0 12px 12px;
}
.wcb2b-quote-summary__scroll:focus-visible { outline: 3px solid #72aee6; outline-offset: -3px; }
.wcb2b-quote-summary .wcb2b-quote-summary__items { margin: 0; padding: 0; list-style: none; }
.wcb2b-quote-summary .wcb2b-quote-summary__item {
	display: grid; grid-template-columns: 48px minmax(0, 1fr) minmax(3.5rem, auto);
	align-items: start; gap: .85rem; margin: 0; padding: 1rem 1.1rem; list-style: none;
}
.wcb2b-quote-summary__item + .wcb2b-quote-summary__item { border-top: 1px solid #e9edf0; }
.wcb2b-quote-summary__image {
	display: flex; align-items: center; justify-content: center; width: 48px; height: 56px;
	overflow: hidden; border-radius: 7px; background: #f3f5f7; color: #8b98a4;
}
.wcb2b-quote-summary__image img { display: block; width: 100%; height: 100%; max-width: 100%; margin: 0; object-fit: contain; border-radius: 0; }
.wcb2b-quote-summary__detail { min-width: 0; overflow-wrap: anywhere; }
.wcb2b-quote-summary__detail p { margin: 0; }
.wcb2b-quote-summary__detail .wcb2b-quote-summary__name { font-size: .925rem; font-weight: 650; line-height: 1.4; }
.wcb2b-quote-summary__detail .wcb2b-quote-summary__sku { margin-top: .3rem; color: #5d6874; font-size: .75rem; }
.wcb2b-quote-summary__sku > span { margin-inline-end: .3rem; }
.wcb2b-quote-summary__detail .wcb2b-quote-summary__options { margin-top: .3rem; color: #435260; font-size: .8rem; }
.wcb2b-bundle-components { margin-top: .55rem; color: #435260; font-size: .78rem; }
.wcb2b-bundle-components > span { font-weight: 650; }
.wcb2b-bundle-components ul { display: grid; gap: .2rem; margin: .25rem 0 0; padding: 0; list-style: none; }
.wcb2b-bundle-components li { display: flex; justify-content: space-between; gap: .75rem; margin: 0; }
.wcb2b-bundle-components small { color: #687582; }
.wcb2b-quote-summary__detail .wcb2b-quote-summary__price { margin-top: .5rem; font-size: .8rem; }
.wcb2b-quote-summary__price > span { color: #5d6874; }
.wcb2b-quote-summary__price strong { margin-inline-start: .35rem; font-size: .85rem; font-weight: 600; }
.wcb2b-quote-summary__quantity { min-width: 0; margin: 0; text-align: center; }
.wcb2b-quote-summary__quantity dt { margin: 0 0 .4rem; color: #5d6874; font-size: .75rem; font-weight: 400; }
.wcb2b-quote-summary__quantity dd {
	min-width: 3rem; max-width: 100%; box-sizing: border-box; margin: 0; padding: .3rem .5rem; overflow-wrap: anywhere;
	border-radius: 6px; background: #f0f3f6; color: #202b36; font-size: .9rem; font-weight: 650; font-variant-numeric: tabular-nums;
}
.wcb2b-quote-summary .wcb2b-quote-summary__hint {
	display: flex; align-items: center;
	margin: 0; padding: .85rem 1.1rem !important; border-top: 1px solid #e2e7eb; border-radius: 0 0 12px 12px;
	background: #f8fafb; color: #5d6874; font-size: .8rem; line-height: 1.6;
}
@container wcb2b-quote-summary (max-width: 420px) {
	.wcb2b-quote-summary .wcb2b-quote-summary__item { grid-template-columns: 40px minmax(0, 1fr); gap: .6rem .75rem; padding: .9rem; }
	.wcb2b-quote-summary__image { width: 40px; height: 48px; }
	.wcb2b-quote-summary__quantity { grid-column: 2; display: flex; align-items: center; justify-content: space-between; gap: .5rem; }
	.wcb2b-quote-summary__quantity dt { margin: 0; }
	.wcb2b-quote-summary__header { padding: .9rem; }
	.wcb2b-quote-summary .wcb2b-quote-summary__hint { padding: .8rem .9rem !important; }
}
@media (max-width: 480px) {
	.wcb2b-quote-summary .wcb2b-quote-summary__item { grid-template-columns: 40px minmax(0, 1fr); gap: .6rem .75rem; padding: .9rem; }
	.wcb2b-quote-summary__image { width: 40px; height: 48px; }
	.wcb2b-quote-summary__quantity { grid-column: 2; display: flex; align-items: center; justify-content: space-between; gap: .5rem; }
	.wcb2b-quote-summary__quantity dt { margin: 0; }
}

.wcb2b-quote-form label,
.wcb2b-quote-form input,
.wcb2b-quote-form textarea {
	display: block;
	width: 100%;
}

.wcb2b-price-hidden {
	font-style: italic;
}

/* Inquiry workspace. These rules do not style WooCommerce shopping pages. */
.wcb2b-inquiry-list.alignwide {
	--wcb2b-list-ink: #202b36;
	--wcb2b-list-muted: #5d6874;
	--wcb2b-list-border: #e2e7eb;
	width: 100%;
	max-width: min(1120px, var(--wp--style--global--wide-size, 1120px));
	margin: 0 auto 2.5rem;
	color: var(--wcb2b-list-ink);
	font-size: 1rem;
	line-height: 1.6;
}
.wcb2b-list-header {
	display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
	gap: 1rem 2rem; margin-bottom: 1.5rem;
}
.wcb2b-list-header > div { flex: 1 1 20rem; min-width: 0; }
.wcb2b-list-header h2 {
	display: flex; align-items: center; flex-wrap: wrap; gap: .65rem;
	margin: 0; color: inherit; font-size: clamp(1.35rem, 2vw, 1.7rem); font-weight: 650; line-height: 1.35;
}
.wcb2b-list-header p { margin: .5rem 0 0; color: var(--wcb2b-list-muted); font-size: .9rem; }
.wcb2b-list-count {
	display: inline-flex; align-items: center; justify-content: center;
	min-width: 1.8rem; min-height: 1.8rem; padding: 0 .4rem; box-sizing: border-box;
	border: 1px solid var(--wcb2b-list-border); border-radius: 999px;
	background: #f4f6f8; color: #435260; font-size: .85rem; font-weight: 600;
}
.wcb2b-inquiry-list .wcb2b-list-browse {
	display: inline-flex; align-items: center; gap: .5rem; min-height: 44px;
	color: var(--wcb2b-list-ink); font-size: .9rem; font-weight: 550;
	text-decoration: underline; text-underline-offset: .2em;
}
.wcb2b-list-layout { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 1.5rem; }
.wcb2b-list-editor {
	container: wcb2b-list-editor / inline-size;
	flex: 3 1 36rem; min-width: 0; margin: 0; box-sizing: border-box;
	border: 1px solid var(--wcb2b-list-border); border-radius: 16px; background: #fff;
}
.wcb2b-inquiry-list .wcb2b-list-products { margin: 0; padding: 0; list-style: none; }
.wcb2b-inquiry-list .wcb2b-list-product {
	display: grid; grid-template-columns: minmax(0, 1fr) minmax(12rem, max-content);
	align-items: center; gap: 1.25rem; margin: 0; padding: 1.5rem;
	list-style: none; border-bottom: 1px solid var(--wcb2b-list-border);
}
.wcb2b-list-product-main { display: flex; align-items: center; gap: 1.1rem; min-width: 0; }
.wcb2b-list-thumbnail {
	display: flex; flex: 0 0 76px; align-items: center; justify-content: center;
	width: 76px; height: 88px; overflow: hidden; border-radius: 10px; background: #f4f6f8; color: #8b98a4;
}
.wcb2b-list-thumbnail img {
	display: block; width: 100%; height: 100%; max-width: 100%; margin: 0; object-fit: contain; border-radius: 0;
}
.wcb2b-list-product-info { min-width: 0; overflow-wrap: anywhere; }
.wcb2b-inquiry-list .wcb2b-list-product-name {
	color: var(--wcb2b-list-ink); font-size: 1rem; font-weight: 650; line-height: 1.4; text-decoration: none;
}
.wcb2b-inquiry-list .wcb2b-list-product-name:hover { text-decoration: underline; text-underline-offset: .2em; }
.wcb2b-list-product-info p { margin: .3rem 0 0; font-size: .8rem; line-height: 1.5; }
.wcb2b-list-sku, .wcb2b-list-price > span { color: var(--wcb2b-list-muted); }
.wcb2b-list-sku > span { margin-inline-end: .3rem; font-size: .75rem; }
.wcb2b-list-attributes { color: #435260; }
.wcb2b-list-product-info .wcb2b-list-price { margin-top: .6rem; }
.wcb2b-list-price strong { margin-inline-start: .3rem; font-size: .9rem; font-weight: 600; }
.wcb2b-list-item-actions {
	display: grid; grid-template-columns: minmax(5.5rem, 6rem) auto; align-items: end; gap: .65rem;
	min-width: 0; box-sizing: border-box; padding: .65rem;
	border: 1px solid var(--wcb2b-list-border); border-radius: 10px; background: #f7f9fb;
}
.wcb2b-list-quantity { min-width: 0; }
.wcb2b-list-quantity label { display: block; margin: 0 0 .4rem; color: var(--wcb2b-list-muted); font-size: .8rem; }
.wcb2b-inquiry-list .wcb2b-list-quantity input.qty {
	box-sizing: border-box; width: 100%; max-width: 100%; min-height: 44px; margin: 0; padding: .6rem .5rem;
	border: 1px solid #b9c4ce; border-radius: 8px; background: #fff; color: var(--wcb2b-list-ink);
	font: inherit; font-variant-numeric: tabular-nums; text-align: center;
}
.wcb2b-inquiry-list .wcb2b-list-remove {
	display: inline-flex; align-items: center; justify-content: center;
	gap: .4rem; box-sizing: border-box; min-width: 44px; min-height: 44px; padding: .55rem .75rem;
	border: 1px solid #e6c5c2; border-radius: 8px; color: #a12a23; background: #fff;
	font-size: .82rem; font-weight: 600; line-height: 1.2; text-decoration: none; white-space: nowrap;
}
.wcb2b-inquiry-list .wcb2b-list-remove svg { flex: 0 0 auto; }
.wcb2b-inquiry-list .wcb2b-list-remove:hover { border-color: #a12a23; background: #a12a23; color: #fff; }
.wcb2b-list-editor-footer {
	display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem;
	padding: 1.25rem 1.5rem; background: #fafbfc; border-radius: 0 0 16px 16px;
}
.wcb2b-list-editor-footer p { flex: 1 1 15rem; margin: 0; color: var(--wcb2b-list-muted); font-size: .82rem; }
.wcb2b-inquiry-list .button.wcb2b-list-secondary {
	display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box;
	min-height: 44px; max-width: 100%; margin: 0; padding: .65rem 1.1rem; border: 1px solid #b9c4ce; border-radius: 8px;
	background: #fff; color: var(--wcb2b-list-ink); font: inherit; font-size: .9rem; font-weight: 600;
	line-height: 1.4; text-align: center; text-decoration: none; white-space: normal; cursor: pointer;
}
.wcb2b-inquiry-list .button.wcb2b-list-secondary:hover { background: #edf1f4; border-color: #8795a3; }
.wcb2b-list-overview {
	flex: 1 1 17rem; min-width: 0; box-sizing: border-box; padding: 1.5rem;
	border: 1px solid var(--wcb2b-list-border); border-radius: 16px; background: #f7f9fb;
}
.wcb2b-list-overview h3 { margin: 0 0 1.25rem; color: inherit; font-size: 1.15rem; font-weight: 650; line-height: 1.4; }
.wcb2b-list-stats { margin: 0 0 1.25rem; padding: 0 0 1.25rem; border-bottom: 1px solid var(--wcb2b-list-border); }
.wcb2b-list-stats > div { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; }
.wcb2b-list-stats > div + div { margin-top: .6rem; }
.wcb2b-list-stats dt { color: var(--wcb2b-list-muted); font-size: .9rem; font-weight: 400; }
.wcb2b-list-stats dd { margin: 0; color: var(--wcb2b-list-ink); font-size: 1rem; font-weight: 650; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.wcb2b-list-overview-note { margin: 0 0 1.25rem; color: var(--wcb2b-list-muted); font-size: .875rem; }
.wcb2b-list-overview > .wcb2b-inquiry-button { width: 100%; margin: 0; white-space: normal; overflow-wrap: anywhere; }
.wcb2b-list-assurance { margin: 1rem 0 0; color: var(--wcb2b-list-muted); font-size: .78rem; text-align: center; }
.wcb2b-list-empty { padding: clamp(2rem, 6vw, 4rem) 1.5rem; border: 1px dashed #c7d1da; border-radius: 16px; background: #fafbfc; text-align: center; }
.wcb2b-list-empty-icon { display: inline-flex; align-items: center; justify-content: center; width: 80px; height: 80px; margin-bottom: 1.25rem; border-radius: 24px; background: #eaf0f5; color: #526b80; }
.wcb2b-list-empty h3 { margin: 0 0 .6rem; color: inherit; font-size: 1.25rem; font-weight: 650; }
.wcb2b-list-empty p { max-width: 32rem; margin: 0 auto 1.5rem; color: var(--wcb2b-list-muted); font-size: .95rem; }
.wcb2b-list-empty__actions { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: .75rem; }
.wcb2b-list-editor :is(a, button, input):focus-visible,
.wcb2b-list-header a:focus-visible, .wcb2b-list-empty a:focus-visible { outline: 3px solid #72aee6; outline-offset: 3px; }
@container wcb2b-list-editor (max-width: 520px) {
	.wcb2b-inquiry-list .wcb2b-list-product { grid-template-columns: minmax(0, 1fr); gap: 1rem; padding: 1.25rem; }
	.wcb2b-list-product-main { gap: .85rem; }
	.wcb2b-list-thumbnail { flex-basis: 60px; width: 60px; height: 72px; }
	.wcb2b-list-item-actions { grid-column: 1 / -1; grid-template-columns: minmax(0, 1fr) auto; width: 100%; }
	.wcb2b-list-quantity { display: grid; grid-template-columns: auto minmax(5rem, 1fr); align-items: center; gap: .75rem; }
	.wcb2b-list-quantity label { margin: 0; }
	.wcb2b-inquiry-list .wcb2b-list-quantity input.qty { width: 100%; }
	.wcb2b-list-editor-footer { padding: 1.25rem; }
}
@media (max-width: 640px) {
	.wcb2b-inquiry-list .wcb2b-list-product { grid-template-columns: minmax(0, 1fr); gap: 1rem; padding: 1rem; }
	.wcb2b-list-product-main { gap: .75rem; }
	.wcb2b-list-thumbnail { flex-basis: 56px; width: 56px; height: 68px; }
	.wcb2b-list-item-actions { grid-column: 1 / -1; grid-template-columns: minmax(0, 1fr) auto; width: 100%; }
	.wcb2b-list-quantity { display: grid; grid-template-columns: auto minmax(5rem, 1fr); align-items: center; gap: .75rem; }
	.wcb2b-list-quantity label { margin: 0; }
	.wcb2b-inquiry-list .wcb2b-list-quantity input.qty { width: 100%; }
	.wcb2b-list-editor-footer, .wcb2b-list-overview { padding: 1.25rem; }
}

.wcb2b-inquiry-navigation {
	display: inline-flex;
	align-items: center;
	min-height: 2.5rem;
}

@media (max-width: 640px) {
	.wcb2b-form-grid {
		grid-template-columns: 1fr;
	}

	.wcb2b-inquiry-dialog__panel {
		padding: 1.5rem 1rem;
	}
}

/* Links and native buttons must not use different browser-default typography.
 * Keep this before presets/custom CSS so their weight, spacing and colors win. */
.button.wcb2b-inquiry-button,
.wcb2b-store .single_add_to_cart_button {
	-webkit-appearance: none;
	appearance: none;
	box-sizing: border-box;
	font: inherit;
	letter-spacing: inherit;
	text-align: center;
	vertical-align: middle;
}

/* Appearance presets. These are fully owned by the plugin. */
.wcb2b-inquiry-button.wcb2b-button--solid:not(#wcb2b-theme-style):not(#wcb2b-theme-style-2),
.wcb2b-inquiry-button.wcb2b-button--outline:not(#wcb2b-theme-style):not(#wcb2b-theme-style-2),
.wcb2b-inquiry-button.wcb2b-button--pill:not(#wcb2b-theme-style):not(#wcb2b-theme-style-2),
.wcb2b-store.wcb2b-buttons--solid .single_add_to_cart_button:not(#wcb2b-theme-style):not(#wcb2b-theme-style-2),
.wcb2b-store.wcb2b-buttons--outline .single_add_to_cart_button:not(#wcb2b-theme-style):not(#wcb2b-theme-style-2),
.wcb2b-store.wcb2b-buttons--pill .single_add_to_cart_button:not(#wcb2b-theme-style):not(#wcb2b-theme-style-2) {
	display: inline-flex !important; align-items: center !important; justify-content: center !important; gap: .4rem !important;
	box-sizing: border-box !important; min-height: 44px !important; padding: .7rem 1.4rem !important;
	border: 2px solid #2271b1 !important; border-radius: 8px !important; background: #2271b1 !important;
	color: #fff !important; font-weight: 600 !important; line-height: 1.4 !important; text-decoration: none !important; cursor: pointer !important;
}
.wcb2b-inquiry-button.wcb2b-button--outline:not(#wcb2b-theme-style):not(#wcb2b-theme-style-2),
.wcb2b-store.wcb2b-buttons--outline .single_add_to_cart_button:not(#wcb2b-theme-style):not(#wcb2b-theme-style-2) { color: #2271b1 !important; background: transparent !important; --wcb2b-button-effective-bg: transparent; }
.wcb2b-inquiry-button.wcb2b-button--pill:not(#wcb2b-theme-style):not(#wcb2b-theme-style-2),
.wcb2b-store.wcb2b-buttons--pill .single_add_to_cart_button:not(#wcb2b-theme-style):not(#wcb2b-theme-style-2) { border-radius: 999px !important; }
.wcb2b-inquiry-button:not(#wcb2b-theme-style):not(#wcb2b-theme-style-2):hover,
.wcb2b-store .single_add_to_cart_button:not(#wcb2b-theme-style):not(#wcb2b-theme-style-2):hover { background: #135e96 !important; border-color: #135e96 !important; color: #fff !important; }
.wcb2b-inquiry-button.wcb2b-colors--custom:not(#wcb2b-theme-style):not(#wcb2b-theme-style-2),
.wcb2b-store.wcb2b-button-colors--custom .single_add_to_cart_button:not(#wcb2b-theme-style):not(#wcb2b-theme-style-2) {
	background: var(--wcb2b-button-effective-bg, var(--wcb2b-button-bg-color, #2271b1)) !important;
	color: var(--wcb2b-button-text-color, #ffffff) !important;
	border-color: var(--wcb2b-button-border-color, #2271b1) !important;
}
.wcb2b-inquiry-button.wcb2b-colors--custom:not(#wcb2b-theme-style):not(#wcb2b-theme-style-2):is(:hover, :active, :focus-visible),
.wcb2b-store.wcb2b-button-colors--custom .single_add_to_cart_button:not(#wcb2b-theme-style):not(#wcb2b-theme-style-2):is(:hover, :active, :focus-visible) {
	background: var(--wcb2b-button-selected-bg-color, #135e96) !important;
	color: var(--wcb2b-button-selected-text-color, #ffffff) !important;
	border-color: var(--wcb2b-button-selected-border-color, #135e96) !important;
}
.wcb2b-inquiry-button:not(#wcb2b-theme-style):not(#wcb2b-theme-style-2):focus-visible,
.wcb2b-store .single_add_to_cart_button:not(#wcb2b-theme-style):not(#wcb2b-theme-style-2):focus-visible { outline: 3px solid #72aee6 !important; outline-offset: 3px !important; }
.wcb2b-inquiry-dialog.wcb2b-motion--right {
	inset: 0 0 0 auto; margin: 0; width: min(640px, 100vw); max-width: 100vw;
	height: 100vh; height: 100dvh; max-height: 100dvh; border-radius: 16px 0 0 16px;
}
.wcb2b-inquiry-dialog.wcb2b-motion--bottom {
	inset: auto 0 0; margin: 0 auto; width: min(960px, 100vw); max-width: 100vw;
	max-height: 88vh; max-height: 88dvh; border-radius: 18px 18px 0 0;
}
.wcb2b-inquiry-dialog.wcb2b-motion--fullscreen {
	inset: 0; margin: 0; width: 100vw; max-width: 100vw;
	height: 100vh; height: 100dvh; max-height: 100dvh; border-radius: 0;
}
.wcb2b-motion--fullscreen .wcb2b-quote-form { max-width: 960px; margin: 0 auto; }
.wcb2b-inquiry-dialog.is-open:not(.wcb2b-motion--center) { transform: none; }
.wcb2b-inquiry-dialog[open] .wcb2b-inquiry-dialog__panel { animation: wcb2b-enter-center .22s ease-out; }
.wcb2b-motion--right[open] .wcb2b-inquiry-dialog__panel { animation-name: wcb2b-enter-right; }
.wcb2b-motion--bottom[open] .wcb2b-inquiry-dialog__panel { animation-name: wcb2b-enter-bottom; }
.wcb2b-motion--fullscreen[open] .wcb2b-inquiry-dialog__panel { animation-name: wcb2b-enter-fade; }
@keyframes wcb2b-enter-center { from { opacity: 0; transform: scale(.96); } to { opacity: 1; transform: none; } }
@keyframes wcb2b-enter-right { from { opacity: 0; transform: translateX(48px); } to { opacity: 1; transform: none; } }
@keyframes wcb2b-enter-bottom { from { opacity: 0; transform: translateY(48px); } to { opacity: 1; transform: none; } }
@keyframes wcb2b-enter-fade { from { opacity: 0; } to { opacity: 1; } }
:is(.wcb2b-form--classic,.wcb2b-form--minimal,.wcb2b-form--soft) .wcb2b-form-field input:not(#wcb2b-theme-style):not(#wcb2b-theme-style-2),
:is(.wcb2b-form--classic,.wcb2b-form--minimal,.wcb2b-form--soft) .wcb2b-form-field select:not(#wcb2b-theme-style):not(#wcb2b-theme-style-2),
:is(.wcb2b-form--classic,.wcb2b-form--minimal,.wcb2b-form--soft) .wcb2b-form-field textarea:not(#wcb2b-theme-style):not(#wcb2b-theme-style-2) {
	box-sizing: border-box !important; width: 100% !important; min-height: 44px !important; padding: .68rem .78rem !important;
	border: 1px solid #c3c4c7 !important; border-radius: 8px !important; background: #fff !important; color: #202b36 !important;
}
:is(.wcb2b-form--classic,.wcb2b-form--minimal,.wcb2b-form--soft) .wcb2b-form-field textarea:not(#wcb2b-theme-style):not(#wcb2b-theme-style-2) {
	height: var(--wcb2b-textarea-height, 140px) !important;
	min-height: var(--wcb2b-textarea-height, 140px) !important;
	max-height: var(--wcb2b-textarea-height, 140px) !important;
	resize: none !important;
}
:is(.wcb2b-form--classic,.wcb2b-form--minimal,.wcb2b-form--soft) .wcb2b-form-field :is(input,select,textarea):not(#wcb2b-theme-style):not(#wcb2b-theme-style-2):focus {
	border-color: #2271b1 !important; outline: 0 !important; box-shadow: 0 0 0 2px rgba(34,113,177,.18) !important;
}
.wcb2b-inquiry-dialog.wcb2b-form--minimal:not(#wcb2b-theme-style):not(#wcb2b-theme-style-2) { border-radius: 2px !important; box-shadow: 0 12px 40px #0003 !important; }
.wcb2b-form--minimal .wcb2b-form-field input:not(#wcb2b-theme-style):not(#wcb2b-theme-style-2),
.wcb2b-form--minimal .wcb2b-form-field select:not(#wcb2b-theme-style):not(#wcb2b-theme-style-2),
.wcb2b-form--minimal .wcb2b-form-field textarea:not(#wcb2b-theme-style):not(#wcb2b-theme-style-2) { border-width: 0 0 1px !important; border-radius: 0 !important; background: #f9fafb !important; }
.wcb2b-form--minimal .wcb2b-quote-summary:not(#wcb2b-theme-style):not(#wcb2b-theme-style-2) { background: transparent !important; border-width: 1px 0 !important; border-radius: 0 !important; }
.wcb2b-inquiry-dialog.wcb2b-form--soft:not(#wcb2b-theme-style):not(#wcb2b-theme-style-2), .wcb2b-form--soft .wcb2b-quote-form:not(#wcb2b-theme-style):not(#wcb2b-theme-style-2) { background: #f0f6fc !important; }
.wcb2b-form--soft .wcb2b-quote-summary:not(#wcb2b-theme-style):not(#wcb2b-theme-style-2) { background: #fff !important; border-color: #c5d9eb !important; }
.wcb2b-form--soft .wcb2b-form-field input:not(#wcb2b-theme-style):not(#wcb2b-theme-style-2),
.wcb2b-form--soft .wcb2b-form-field select:not(#wcb2b-theme-style):not(#wcb2b-theme-style-2),
.wcb2b-form--soft .wcb2b-form-field textarea:not(#wcb2b-theme-style):not(#wcb2b-theme-style-2) { border-color: #c5d9eb !important; border-radius: 12px !important; }
.wcb2b-close--circle .wcb2b-inquiry-dialog__close:not(#wcb2b-theme-style):not(#wcb2b-theme-style-2) { background: #1d2327 !important; color: #fff !important; }
.wcb2b-close--circle .wcb2b-inquiry-dialog__close:not(#wcb2b-theme-style):not(#wcb2b-theme-style-2):hover { background: #135e96 !important; color: #fff !important; }
.wcb2b-close--text .wcb2b-inquiry-dialog__close:not(#wcb2b-theme-style):not(#wcb2b-theme-style-2) { width: auto !important; min-width: 3.5rem !important; padding: 0 .7rem !important; border: 1px solid #c3c4c7 !important; border-radius: 6px !important; font-size: .9rem !important; background: #fff !important; }
.wcb2b-close--text .wcb2b-quote-form > h2 { margin-right: 4.5rem; }
.wcb2b-inquiry-dialog.is-open { box-shadow: 0 0 0 100vmax rgba(0, 0, 0, .58), 0 20px 60px rgba(0, 0, 0, .3); }
@media (prefers-reduced-motion: reduce) {
	.wcb2b-inquiry-dialog[open] .wcb2b-inquiry-dialog__panel { animation: none; }
	.wcb2b-inquiry-dialog input, .wcb2b-inquiry-dialog select, .wcb2b-inquiry-dialog textarea { transition: none; }
}

/* Mobile inquiry controls use a plugin-owned grid so theme cart floats and
 * fixed quantity widths cannot offset the two B2B actions. */
@media (max-width: 640px) {
	body.wcb2b-store.single-product form.cart:not(.variations_form):not(.grouped_form),
	body.wcb2b-store.single-product :is(
		form.cart.wcb2b-product-inquiry,
		form.cart.wcb2b-bundle-form,
		form.cart .woocommerce-variation-add-to-cart,
		.wcb2b-variable-parent-inquiry
	) {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		grid-auto-flow: row !important;
		align-items: stretch !important;
		gap: .75rem !important;
		width: 100% !important;
		max-width: 100% !important;
	}
	body.wcb2b-store.single-product form.cart:not(.variations_form):not(.grouped_form) > .quantity,
	body.wcb2b-store.single-product :is(
		form.cart.wcb2b-product-inquiry,
		form.cart.wcb2b-bundle-form,
		form.cart .woocommerce-variation-add-to-cart,
		.wcb2b-variable-parent-inquiry
	) > .quantity {
		grid-column: 1 / -1;
		float: none !important;
		width: 100% !important;
		max-width: none !important;
		margin: 0 !important;
	}
	body.wcb2b-store.single-product form.cart:not(.variations_form):not(.grouped_form) > .quantity .qty,
	body.wcb2b-store.single-product :is(
		form.cart.wcb2b-product-inquiry,
		form.cart.wcb2b-bundle-form,
		form.cart .woocommerce-variation-add-to-cart,
		.wcb2b-variable-parent-inquiry
	) > .quantity .qty {
		box-sizing: border-box;
		width: 100% !important;
		max-width: none !important;
		min-height: 44px;
	}
	body.wcb2b-store.single-product form.cart:not(.variations_form):not(.grouped_form) > :is(.single_add_to_cart_button,.wcb2b-inquire-now),
	body.wcb2b-store.single-product :is(
		form.cart.wcb2b-product-inquiry,
		form.cart.wcb2b-bundle-form,
		form.cart .woocommerce-variation-add-to-cart,
		.wcb2b-variable-parent-inquiry
	) > :is(.single_add_to_cart_button,.wcb2b-inquire-now) {
		float: none !important;
		min-width: 0 !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		white-space: normal !important;
		overflow-wrap: anywhere;
	}
	body.wcb2b-store.wcb2b-hide-add-button.single-product .wcb2b-inquire-now,
	body.wcb2b-store.wcb2b-hide-now-button.single-product .single_add_to_cart_button {
		grid-column: 1 / -1;
	}

	body.wcb2b-store .wcb2b-inquiry-dialog {
		box-sizing: border-box;
		width: calc(100vw - 16px);
		max-width: calc(100vw - 16px);
		max-height: calc(100vh - 16px);
		max-height: calc(100dvh - 16px);
		overflow-x: hidden;
		overflow-y: auto;
		overscroll-behavior: contain;
		-webkit-overflow-scrolling: touch;
	}
	body.wcb2b-store .wcb2b-inquiry-dialog.wcb2b-motion--center {
		position: fixed;
		inset: 8px;
		height: calc(100vh - 16px);
		height: calc(100dvh - 16px);
		margin: 0;
		transform: none;
	}
	body.wcb2b-store .wcb2b-inquiry-dialog__panel {
		min-width: 0;
		min-height: 100%;
		padding: max(1rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) max(1rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));
	}
	body.wcb2b-store .wcb2b-quote-form,
	body.wcb2b-store .wcb2b-quote-summary,
	body.wcb2b-store .wcb2b-form-grid { min-width: 0; max-width: 100%; }
	body.wcb2b-store .wcb2b-inquiry-dialog .wcb2b-quote-summary__scroll {
		max-height: none;
		overflow: visible;
	}
}

/* The automatic global layout keeps two equal actions on larger phones and
 * stacks them on compact screens. This baseline also protects installations
 * that have not enabled the global visual designer. */
@media (max-width: 480px) {
	.wcb2b-bundle-summary__count { display: none; }
	.wcb2b-bundle-summary__title { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
	.wcb2b-bundle-summary__toggle { margin-inline-start: auto; }
	.wcb2b-bundle-summary__items li { gap: .75rem; }
	body.wcb2b-store.single-product form.cart:not(.variations_form):not(.grouped_form),
	body.wcb2b-store.single-product :is(
		form.cart.wcb2b-product-inquiry,
		form.cart.wcb2b-bundle-form,
		form.cart .woocommerce-variation-add-to-cart,
		.wcb2b-variable-parent-inquiry
	) {
		grid-template-columns: 1fr !important;
	}
	body.wcb2b-store.single-product form.cart:not(.variations_form):not(.grouped_form) > :is(.single_add_to_cart_button,.wcb2b-inquire-now),
	body.wcb2b-store.single-product :is(
		form.cart.wcb2b-product-inquiry,
		form.cart.wcb2b-bundle-form,
		form.cart .woocommerce-variation-add-to-cart,
		.wcb2b-variable-parent-inquiry
	) > :is(.single_add_to_cart_button,.wcb2b-inquire-now) {
		grid-column: 1 / -1;
	}
}
.wcb2b-honeypot {
	position: absolute !important;
	inline-size: 1px !important;
	block-size: 1px !important;
	overflow: hidden !important;
	clip: rect(0 0 0 0) !important;
	clip-path: inset(50%) !important;
	white-space: nowrap !important;
}
