.jant-ps-quote-form,
.jant-ps-account-quotes,
.jant-ps-quote-confirmation,
.jant-ps-notice,
.jant-ps-gate,
.jant-ps-quote-add,
.jant-ps-quote-list,
.jant-ps-price-hidden,
.jant-ps-quote-only-badge,
.jant-ps-basket-count-link,
.jant-ps-button {
	--jant-ps-accent: var(--wp--preset--color--primary, var(--woocommerce, #7f54b3));
	--jant-ps-text: var(--wp--preset--color--contrast, #242424);
	--jant-ps-surface: var(--wp--preset--color--base, #fff);
	--jant-ps-focus: var(--wp--preset--color--contrast, currentColor);
}

.jant-ps-notice {
	--jant-ps-notice-color: var(--jant-ps-accent);
	box-sizing: border-box;
	margin-block: 1rem;
	padding-block: 1rem;
	padding-inline: 1rem;
	border: 1px solid var(--jant-ps-notice-color);
	border-inline-start-width: 0.25rem;
	background: var(--jant-ps-surface);
	color: var(--jant-ps-text);
	overflow-wrap: anywhere;
}

.jant-ps-notice--info { --jant-ps-notice-color: var(--wc-blue, #2271b1); }
.jant-ps-notice--warning { --jant-ps-notice-color: var(--wc-orange, #996800); }
.jant-ps-notice--error { --jant-ps-notice-color: var(--wc-red, #b32d2e); }
.jant-ps-notice > :first-child { margin-block-start: 0; }
.jant-ps-notice > :last-child { margin-block-end: 0; }

/* Combine with .button or .wp-element-button to retain the theme's styling. */
.jant-ps-button {
	box-sizing: border-box;
	max-inline-size: 100%;
	min-block-size: 2.75rem;
	white-space: normal;
	overflow-wrap: anywhere;
	cursor: pointer;
}

.jant-ps-button:disabled,
.jant-ps-button[aria-disabled="true"] {
	cursor: not-allowed;
	opacity: 0.65;
}

.jant-ps-button:focus-visible,
.jant-ps-notice :focus-visible {
	outline: 2px solid var(--jant-ps-focus);
	outline-offset: 3px;
}

.jant-ps-visually-hidden {
	position: absolute !important;
	inline-size: 1px;
	block-size: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

.jant-ps-gate {
	box-sizing: border-box;
	display: grid;
	place-items: center;
	min-block-size: 50vh;
	padding: clamp(1rem, 4vw, 3rem);
	color: var(--wp--preset--color--contrast, inherit);
}

.jant-ps-gate__card {
	box-sizing: border-box;
	inline-size: 100%;
	max-inline-size: 38rem;
	padding: clamp(1.25rem, 4vw, 2.5rem);
	border: 1px solid currentColor;
	border-radius: var(--jant-ps-gate-radius, 0.5rem);
	background: var(--wp--preset--color--base, transparent);
	text-align: center;
	overflow-wrap: anywhere;
}

.jant-ps-gate__card > :first-child { margin-block-start: 0; }
.jant-ps-gate__message { margin-block: 1.25rem; }
.jant-ps-gate--inline { min-block-size: 0; padding-inline: 0; }
.jant-ps-gate :focus-visible { outline: 3px solid currentColor; outline-offset: 4px; }

.jant-ps-price-hidden { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; max-inline-size: 100%; color: inherit; font-size: 0.95em; overflow-wrap: anywhere; }
.jant-ps-price-hidden__message > :first-child { margin-block-start: 0; }
.jant-ps-price-hidden__message > :last-child { margin-block-end: 0; }
.jant-ps-price-hidden__cta { font-size: 0.9em; }
.jant-ps-not-purchasable { font-size: 0.95em; }
.jant-ps-not-purchasable[hidden],
.variations_form .single_add_to_cart_button[hidden] { display: none !important; }
.jant-ps-quote-only-badge { display: inline-block; padding: 0.2em 0.65em; margin-block: 0.5rem; border: 1px solid currentColor; border-radius: 1em; color: var(--jant-ps-text); background: var(--jant-ps-surface); font-size: 0.8em; font-weight: 600; line-height: 1.5; }
.jant-ps-price-hidden { color: var(--jant-ps-text); background: var(--jant-ps-surface); }
.jant-ps-price-hidden :focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }

.jant-ps-quote-add { display: flex; flex-wrap: wrap; align-items: center; gap: 0.6rem; margin-block: 1rem; }
.jant-ps-quote-add[hidden], .jant-ps-update-all[hidden] { display: none !important; }
[data-jant-ps-cart-quote][hidden] { display: none !important; }
.jant-ps-quote-add input[type="number"] { max-inline-size: 6rem; }
.jant-ps-quote-feedback { display: block; flex-basis: 100%; }
.jant-ps-quote-list { margin-block: 1.5rem; }
.jant-ps-quote-list__feedback:not(:empty) { margin-block: 1rem; padding: 0.75rem; border-inline-start: 3px solid currentColor; }
.jant-ps-quote-table { inline-size: 100%; border-collapse: collapse; }
.jant-ps-quote-table th, .jant-ps-quote-table td { padding-block: var(--jant-ps-cell-spacing, 1rem); padding-inline: var(--jant-ps-cell-spacing, 1rem); text-align: start; vertical-align: top; border-block-end: 1px solid currentColor; }
.jant-ps-quote-line img { inline-size: 4.5rem; block-size: auto; margin-inline-end: 0.75rem; }
.jant-ps-line-form { display: grid; gap: 0.5rem; }
.jant-ps-line-form input { inline-size: 100%; box-sizing: border-box; }
.jant-ps-line-form input[type="number"] { max-inline-size: 7rem; }
.jant-ps-line-actions { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.jant-ps-quote-list > a, .jant-ps-update-all { display: inline-block; margin-block: 0.75rem; margin-inline-end: 0.75rem; }
.jant-ps-quote-list :focus-visible, .jant-ps-quote-add :focus-visible, .jant-ps-basket-count:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
.jant-ps-quote-line[aria-busy="true"] { opacity: 0.75; }
.jant-ps-quote-form, .jant-ps-quote-confirmation, .jant-ps-account-quotes { margin-block: 2rem; overflow-wrap: anywhere; }
.jant-ps-form-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; margin-block: 1.5rem; }
.jant-ps-form-field--wide { grid-column: 1 / -1; }
.jant-ps-form-field label { display: block; margin-block-end: 0.4rem; font-weight: 600; }
.jant-ps-form-field input:not([type="checkbox"]), .jant-ps-form-field textarea, .jant-ps-form-field select { box-sizing: border-box; inline-size: 100%; max-inline-size: 100%; min-block-size: 2.75rem; }
.jant-ps-form-field textarea { resize: vertical; }
.jant-ps-form-field input[type="checkbox"] { inline-size: 1.25rem; block-size: 1.25rem; }
.jant-ps-form-field [aria-invalid="true"] { border: 2px solid var(--wc-red, #b32d2e); }
.jant-ps-field-error, .jant-ps-required-hint { color: var(--wc-red, #b32d2e); margin-block: 0.5rem; }
.jant-ps-required-hint[hidden] { display: none; }
.jant-ps-privacy-text { margin-block: 0.75rem; }
.jant-ps-quote-form :focus-visible, .jant-ps-account-quotes :focus-visible, .jant-ps-quote-confirmation :focus-visible, [data-jant-ps-error-summary]:focus { outline: 2px solid var(--jant-ps-focus); outline-offset: 3px; }
.jant-ps-table-scroll { overflow-x: auto; max-inline-size: 100%; }
.jant-ps-account-table { inline-size: 100%; border-collapse: collapse; }
.jant-ps-account-table th, .jant-ps-account-table td { padding: 0.75rem; text-align: start; vertical-align: top; border-block-end: 1px solid currentColor; }
.jant-ps-status-badge { display: inline-block; padding: 0.2em 0.6em; border: 1px solid currentColor; border-radius: 1rem; font-size: 0.9em; color: var(--jant-ps-text); background: var(--jant-ps-surface); }
.jant-ps-quote-items { padding-inline-start: 1.5rem; }
.jant-ps-quote-items > li { padding-block: 1rem; border-block-end: 1px solid currentColor; }
.jant-ps-quote-items p { margin-block: 0.5rem; }
.jant-ps-quote-details { display: grid; grid-template-columns: minmax(6rem, 1fr) minmax(0, 3fr); gap: 0.5rem 1rem; }
.jant-ps-quote-details dd { margin: 0; }
.jant-ps-quote-timeline { padding-inline-start: 1.5rem; }
.jant-ps-quote-timeline li { padding-block: 0.5rem; }
.jant-ps-basket-count-link:focus-visible { outline: 2px solid var(--jant-ps-focus); outline-offset: 3px; }
.jant-ps-quote-table[aria-busy="true"] { cursor: progress; }
.jant-ps-quote-list [hidden] { display: none !important; }
@media (max-width: 639px) {
	.jant-ps-form-fields, .jant-ps-quote-details { grid-template-columns: minmax(0, 1fr); }
	.jant-ps-quote-table, .jant-ps-quote-table tbody, .jant-ps-quote-table tr, .jant-ps-quote-table td { display: block; inline-size: 100%; box-sizing: border-box; }
	.jant-ps-quote-table thead { position: absolute; inline-size: 1px; block-size: 1px; overflow: hidden; clip-path: inset(50%); }
	.jant-ps-quote-table tr { margin-block: 1rem; padding: 0.5rem; border: 1px solid currentColor; border-radius: 0.25rem; }
	.jant-ps-quote-table td { border: 0; }
	.jant-ps-quote-table td::before { content: attr(data-title); display: block; font-weight: 600; margin-block-end: 0.5rem; }
	.jant-ps-quote-add { align-items: stretch; }
}
