.screen-reader-text{width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.screen-reader-text:not(caption){position:absolute!important}.product-thumbnail{border:2px solid var(--toboo-cover-border,color-mix(in srgb,var(--tw-secondary,#1e1e21) 20%,transparent));transition:all .2s ease-in-out}.product-thumbnail:hover{border-color:color-mix(in srgb,var(--tw-secondary,#1e1e21) 32%,transparent)}.product-menu-thumbnail{width:70px;height:70px;object-fit:cover}.cart-summary{overflow:hidden}

/**
 * Mein Korb modal — Gutenberg composition (no Bootstrap utilities).
 * Layout: core/columns + core/buttons. Visual tokens from theme.json.
 */

/* Content / shop modals: white surface. Header keeps global divider line. */
.tw-content-modal .tw-content-modal__panel,
.tw-modal-overlay:not(.tw-modal-overlay--results-only):not(.tw-skip-links-overlay) .tw-modal-overlay__panel,
.tw-shop-modal .tw-content-modal__panel,
#shop-modal .tw-content-modal__panel {
	background: #fff;
	border: 0;
	box-shadow: none;
}

.tw-content-modal .tw-content-modal__header,
.tw-shop-modal .tw-content-modal__header,
#shop-modal .tw-content-modal__header,
.tw-content-modal .modal-header,
#shop-modal .modal-header {
	border-bottom: 1px solid rgba(20, 20, 22, 0.08);
	background: #fff;
}

.tw-content-modal .tw-content-modal__footer,
.tw-shop-modal .tw-content-modal__footer,
#shop-modal .tw-content-modal__footer,
.tw-content-modal .modal-footer,
#shop-modal .modal-footer {
	border-top: 0;
	background: #fff;
}

/* Cart modal: keep “Zur Kasse” pinned under the scrollable body. */
#shop-modal .toboo-cart-modal__footer,
#shop-modal .tw-content-modal__footer.modal-footer {
	flex: 0 0 auto;
	padding: 0.85rem 1.25rem calc(0.85rem + env(safe-area-inset-bottom, 0px));
	border-top: 1px solid var(--tw-gray-200, #e3e3e3);
	background: #fff;
}

#shop-modal .toboo-cart-modal__footer .toboo-cart-summary__checkout,
#shop-modal .toboo-cart-modal__footer .toboo-cart-actions {
	margin: 0;
	width: 100%;
}

/* Wider cart modal for desktop two-column layout. */
#shop-modal.tw-shop-modal .tw-content-modal__panel,
.tw-shop-modal .tw-content-modal__panel {
	width: min(100%, 58rem);
	max-width: 58rem;
	max-height: min(92dvh, 42rem);
	/* Keep opacity in the transition — transform-only made close snap invisible. */
	transition:
		transform var(--tw-modal-panel-duration, 0.3s) ease,
		opacity var(--tw-modal-panel-duration, 0.3s) ease;
}

/* Desktop: cart items + summary left, recommendations right.
 * DOM: main first, then recs — wrap/mobile keeps cart above recommendations. */
@media (min-width: 768px) {
	#shop-modal .modal-cart:has(> .toboo-cart-main):has(> .toboo-cart-recs),
	.tw-shop-modal .modal-cart:has(> .toboo-cart-main):has(> .toboo-cart-recs) {
		display: grid;
		grid-template-columns: minmax(0, 1.35fr) minmax(14rem, 0.95fr);
		gap: 0.5rem 1.5rem;
		align-items: start;
	}

	#shop-modal .modal-cart > .toboo-cart-main,
	.tw-shop-modal .modal-cart > .toboo-cart-main {
		min-width: 0;
		grid-column: 1;
		grid-row: 1;
	}

	#shop-modal .modal-cart:has(> .toboo-cart-recs) > .toboo-cart-main,
	.tw-shop-modal .modal-cart:has(> .toboo-cart-recs) > .toboo-cart-main {
		padding-right: 1.25rem;
		border-right: 1px solid var(--tw-gray-200, #e3e3e3);
	}

	#shop-modal .modal-cart > .toboo-cart-recs,
	.tw-shop-modal .modal-cart > .toboo-cart-recs {
		min-width: 0;
		grid-column: 2;
		grid-row: 1;
		position: sticky;
		top: 0;
	}
}

.modal-cart .toboo-cart-main {
	min-width: 0;
}

.modal-cart .toboo-cart-main > .cart-summary {
	margin-top: 1.25rem;
	padding-top: 1rem;
	border-top: 1px solid var(--tw-gray-200, #e3e3e3);
}

/* Cart recommendations (right column on desktop). */
.modal-cart > .toboo-cart-recs {
	margin: 1.25rem 0 0;
	padding: 1rem 0 0;
	border-top: 1px solid var(--tw-gray-200, #e3e3e3);
}

@media (min-width: 768px) {
	.modal-cart > .toboo-cart-recs {
		margin: 0;
		padding-top: 0;
		border-top: 0;
	}
}

.modal-cart .toboo-cart-recs__section + .toboo-cart-recs__section {
	margin-top: 1rem;
	padding-top: 1rem;
	border-top: 1px solid var(--tw-gray-200, #e3e3e3);
}

.modal-cart .toboo-cart-recs__heading {
	margin: 0 0 0.75rem;
	font-size: 0.95rem;
	font-weight: 600;
	line-height: 1.3;
	color: var(--tw-color-dark, #141416);
}

.modal-cart .toboo-cart-recs__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.65rem;
}

/* Selection rows like PDP: transparent kind tint (spiel/addon), no border. */
.modal-cart .toboo-cart-recs__item.toboo-product-addon {
	position: relative;
	display: flex;
	align-items: stretch;
	gap: 0.75rem;
	width: 100%;
	margin: 0;
	padding: 0.65rem 0.85rem;
	box-sizing: border-box;
	border: 0;
	border-radius: var(--tw-radius-card, 2.5rem);
	corner-shape: squircle;
	background: color-mix(
		in srgb,
		var(--toboo-selection-accent, var(--wp--preset--color--hell, #b5d91f)) 14%,
		transparent
	);
	color: var(--tw-color-dark, #141416);
	cursor: default;
	transition: background-color 0.2s ease;
}

.modal-cart .toboo-cart-recs__item.toboo-product-addon:hover {
	background: color-mix(
		in srgb,
		var(--toboo-selection-accent, var(--wp--preset--color--hell, #b5d91f)) 22%,
		transparent
	);
}

.modal-cart .toboo-cart-recs__item .toboo-product-addon__body {
	display: flex;
	align-items: center;
	gap: 0.85rem;
	flex: 1 1 auto;
	min-width: 0;
}

.modal-cart .toboo-cart-recs__item .toboo-product-addon__media {
	position: relative;
	flex: 0 0 3.5rem;
	width: 3.5rem;
}

.modal-cart .toboo-cart-recs__cover-link {
	display: block;
	line-height: 0;
	text-decoration: none;
}

.modal-cart .toboo-cart-recs__item .toboo-product-addon__image {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1;
	object-fit: cover;
	border-radius: var(--tw-radius-card, 2.5rem);
	box-sizing: border-box;
	background: color-mix(in srgb, var(--toboo-selection-accent, #c4cbd6) 10%, #fff);
}

.modal-cart .toboo-cart-recs__item .toboo-product-addon__content {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem 0.75rem;
	flex: 1 1 auto;
	min-width: 0;
	text-align: left;
}

.modal-cart .toboo-cart-recs__item .toboo-product-addon__main {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.2rem;
	min-width: 0;
	flex: 1 1 auto;
	/* Prefer title width over the price column. */
	flex-basis: 0;
}

.modal-cart .toboo-cart-recs__item .toboo-product-addon__badge {
	display: inline-block;
	padding: 0.3rem 0.5rem;
	border-radius: 50rem;
	background: var(--toboo-selection-accent, var(--hell, #b5d91f));
	color: var(--dunkel, #0d1101);
	font-size: 0.7rem;
	font-weight: 500;
	letter-spacing: 0.04em;
	line-height: 1;
	text-transform: uppercase;
}

.modal-cart .toboo-cart-recs__item.toboo-product-selection__item--kind-spiel {
	--toboo-selection-accent: var(--wp--preset--color--hell, var(--hell, #b5d91f));
}

.modal-cart .toboo-cart-recs__item.toboo-product-selection__item--kind-addon {
	--toboo-selection-accent: var(--wp--preset--color--hellblau, #1ec4d6);
}

.modal-cart .toboo-cart-recs__item .toboo-product-addon__title {
	display: block;
	width: 100%;
	min-width: 0;
	line-height: 1.25;
	font-size: 0.95rem;
	font-weight: 600;
	overflow-wrap: break-word;
	hyphens: manual;
}

.modal-cart .toboo-cart-recs__item .toboo-product-addon__link {
	color: var(--tw-color-dark, #141416);
	text-decoration: none;
}

.modal-cart .toboo-cart-recs__item .toboo-product-addon__link:hover,
.modal-cart .toboo-cart-recs__item .toboo-product-addon__link:focus-visible {
	text-decoration: underline;
}

.modal-cart .toboo-cart-recs__item .toboo-delivery-time,
.modal-cart .toboo-cart-recs__item .toboo-product-addon__delivery {
	display: block;
	margin: 0.15rem 0 0;
	font-size: 0.8rem;
	line-height: 1.3;
	color: var(--toboo-hint-color, var(--toboo-green-text, #586b08));
}

.modal-cart .toboo-cart-recs__item .toboo-delivery-time__icon,
.modal-cart .toboo-cart-recs__item .toboo-delivery-time .icon-svg,
.modal-cart .toboo-cart-recs__item .toboo-product-addon__delivery .icon-svg {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	vertical-align: middle;
	width: 1em;
	height: 1em;
	margin-right: 0.35rem;
	line-height: 0;
}

.modal-cart .toboo-cart-recs__item .toboo-delivery-time__icon svg,
.modal-cart .toboo-cart-recs__item .toboo-delivery-time .icon-svg svg,
.modal-cart .toboo-cart-recs__item .toboo-product-addon__delivery .icon-svg svg {
	display: block;
	width: 1em;
	height: 1em;
	fill: currentColor;
}

.modal-cart .toboo-cart-recs__item .toboo-delivery-time .delivery-time-data,
.modal-cart .toboo-cart-recs__item .toboo-product-addon__delivery .delivery-time-data {
	display: inline;
	vertical-align: middle;
}

.modal-cart .toboo-cart-recs__item .toboo-product-addon__price {
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	align-items: flex-end;
	justify-content: center;
	gap: 0.05rem;
	margin: 0;
	margin-left: 0;
	flex: 0 0 auto;
	max-width: 5.5rem;
	font-size: 0.95rem;
	font-weight: 500;
	text-align: right;
	color: var(--tw-color-dark, #141416);
	white-space: nowrap;
}

.modal-cart .toboo-cart-recs__item .toboo-product-addon__price del {
	font-size: 0.8em;
	opacity: 0.65;
}

.modal-cart .toboo-cart-recs__item .toboo-product-addon__price ins {
	flex: 0 0 auto;
	text-decoration: none;
	text-align: right;
}

.modal-cart .toboo-cart-recs__add.toboo-product-addon__toggle {
	position: relative;
	flex: 0 0 2.75rem;
	width: 2.75rem;
	align-self: stretch;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: var(--tw-radius-card, 2.5rem);
	corner-shape: squircle;
	background: color-mix(
		in srgb,
		var(--toboo-selection-accent, var(--wp--preset--color--hell, #b5d91f)) 18%,
		transparent
	);
	color: var(--tw-color-dark, #141416);
	cursor: pointer;
	appearance: none;
	font-size: 1.2rem;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.modal-cart .toboo-cart-recs__item:hover .toboo-cart-recs__add,
.modal-cart .toboo-cart-recs__add:hover,
.modal-cart .toboo-cart-recs__add:focus-visible {
	background: var(--toboo-selection-accent, var(--hell, #b5d91f));
	color: var(--dunkel, #0d1101);
}

.modal-cart .toboo-cart-recs__add:disabled {
	opacity: 0.65;
	pointer-events: none;
}

.modal-cart .toboo-cart-recs__add-icon,
.modal-cart .toboo-cart-recs__add .icon-svg,
.modal-cart .toboo-cart-recs__add .icon-svg,
.modal-cart .toboo-cart-recs__add svg,
.modal-cart .toboo-cart-recs__add i {
	display: block;
	width: 1.15rem;
	height: 1.15rem;
	fill: currentColor;
	color: currentColor;
}


/* Header badge */
.tw-shop-modal .toboo-cart-badge,
#shop-modal .toboo-cart-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 1.35rem;
	height: 1.35rem;
	padding: 0 0.4rem;
	border-radius: 999px;
	font-size: 0.75rem;
	font-weight: 500;
	line-height: 1;
	background: var(--wp--preset--color--primary, #849e14);
	color: var(--wp--preset--color--white, #fff);
}

/* Notices (replaces .alert) */
.toboo-cart-notice {
	padding: 0.65rem 0.85rem;
	margin: 0 0 1.25rem;
	border: 0;
	border-radius: var(--tw-radius-card, 2.5rem);
	corner-shape: squircle;
	font-size: 0.875rem;
	line-height: 1.35;
}

.toboo-cart-notice.is-dismissible {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	padding-right: 0.55rem;
}

.toboo-cart-notice--inline.is-dismissible {
	align-items: flex-start;
}

.toboo-cart-notice__content {
	flex: 1 1 auto;
	min-width: 0;
}

.toboo-cart-notice__content > :first-child {
	margin-top: 0;
}

.toboo-cart-notice__content > :last-child {
	margin-bottom: 0;
}

.toboo-cart-notice__dismiss {
	flex: 0 0 auto;
	margin: 0 -0.35rem 0 0;
}

.toboo-cart-notice__dismiss.tw-content-modal__close {
	width: auto;
	height: auto;
	border-radius: 0;
	background: transparent;
}

.toboo-cart-notice__dismiss.tw-content-modal__close:hover,
.toboo-cart-notice__dismiss.tw-content-modal__close:focus-visible {
	background: transparent;
}

.toboo-cart-notice--inline {
	margin: 0;
	padding: 0.45rem 0.55rem 0.45rem 0.65rem;
	border-radius: 0;
	corner-shape: unset;
	font-size: var(--toboo-hint-size, 0.875rem);
}

.toboo-cart-notice--inline.toboo-cart-notice--success,
.toboo-cart-notice--inline.toboo-cart-notice--error,
.toboo-cart-notice--inline.toboo-cart-notice--warning {
	background: transparent;
	color: inherit;
}

#shop-modal .toboo-cart-modal__message:not(:empty),
.tw-shop-modal .toboo-cart-modal__message:not(:empty) {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	padding: 0;
	margin: 0 0 0.75rem;
}

#shop-modal .toboo-cart-modal__message .toboo-cart-notice,
.tw-shop-modal .toboo-cart-modal__message .toboo-cart-notice,
#shop-modal .toboo-cart-modal__message .toboo-vacation-notice,
.tw-shop-modal .toboo-cart-modal__message .toboo-vacation-notice {
	margin: 0;
}

.toboo-cart-notice--success {
	background: color-mix(in srgb, var(--wp--preset--color--primary, #849e14) 18%, white);
	color: var(--wp--preset--color--dunkel, #0d1101);
}

.toboo-cart-notice--error {
	background: color-mix(in srgb, var(--wp--preset--color--danger, #ff3c17) 14%, white);
	color: var(--wp--preset--color--danger, #ff3c17);
}

.toboo-cart-notice--warning {
	background: color-mix(in srgb, var(--wp--preset--color--primary-200, #b8c41f) 22%, white);
	color: var(--wp--preset--color--dunkel, #0d1101);
}

/*
 * Gutenberg button standard (theme.json elements.button).
 * Needed on the frontend because Toboo dequeues `global-styles`.
 */
.wp-element-button,
.wp-block-button__link {
	--toboo-btn-bg: var(--wp--preset--color--hell, #b5d91f);
	--toboo-btn-fg: var(--wp--preset--color--dunkel, #0d1101);
	--toboo-btn-edge: color-mix(in srgb, var(--toboo-btn-bg) 72%, #000);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	box-sizing: border-box;
	padding: 0.85rem 1.25rem;
	border: 0;
	border-left: 2px solid var(--toboo-btn-edge);
	border-bottom: 2px solid var(--toboo-btn-edge);
	border-radius: var(--tw-radius-card, 2.5rem);
	corner-shape: squircle;
	background: var(--toboo-btn-bg);
	color: var(--toboo-btn-fg);
	font-family: inherit;
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.25;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	appearance: none;
	transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

/* Keep hell/dunkel even when markup still carries primary/white/hell utilities. */
.wp-element-button.has-primary-background-color,
.wp-block-button__link.has-primary-background-color,
.wp-element-button.has-hell-background-color,
.wp-block-button__link.has-hell-background-color,
.wp-element-button.has-white-color,
.wp-block-button__link.has-white-color,
.wp-element-button.has-dunkel-color,
.wp-block-button__link.has-dunkel-color {
	background: var(--toboo-btn-bg) !important;
	color: var(--toboo-btn-fg) !important;
}

.wp-element-button:hover,
.wp-element-button:focus-visible,
.wp-block-button__link:hover,
.wp-block-button__link:focus-visible {
	--toboo-btn-bg: color-mix(in srgb, var(--wp--preset--color--hell, #b5d91f) 88%, white);
	background: var(--toboo-btn-bg);
	color: var(--toboo-btn-fg);
	border-left-color: var(--toboo-btn-edge);
	border-bottom-color: var(--toboo-btn-edge);
}

.wp-element-button:focus-visible,
.wp-block-button__link:focus-visible {
	outline: 2px solid var(--toboo-green-text, var(--wp--preset--color--green-text, #586b08));
	outline-offset: 2px;
}

.wp-element-button:disabled,
.wp-element-button.is-disabled,
.wp-block-button__link:disabled {
	opacity: 0.65;
	pointer-events: none;
}

/* Full-width CTA layout only — appearance from Gutenberg button standard. */
.toboo-cart-actions,
.toboo-checkout-actions {
	width: 100%;
	margin: 0;
}

.toboo-cart-actions .wp-block-button,
.toboo-checkout-actions .wp-block-button {
	width: 100%;
}

.toboo-cart-actions .wp-block-button__link,
.toboo-checkout-actions .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	width: 100%;
	box-sizing: border-box;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
}

.toboo-cart-actions__icon,
.toboo-cart-actions__icon.icon-svg,
.toboo-cart-actions__icon svg {
	display: block;
	width: 1em;
	height: 1em;
	flex: 0 0 auto;
	fill: currentColor;
}

/* Empty state */
.toboo-cart-empty {
	text-align: center;
	padding: 1.5rem 0.5rem;
}

.toboo-cart-empty__icon,
.cart-empty-icon {
	position: relative;
	display: inline-block;
	margin: 0.75rem auto 0;
}

.toboo-cart-empty__box,
.cart-empty-icon .toboo-cart-empty__box {
	width: 5rem;
	position: relative;
	z-index: 10;
	display: block;
	transform-origin: center bottom;
	animation-name: cart_box_wobble;
	animation-duration: 6s;
	animation-iteration-count: infinite;
}

.toboo-cart-empty__ghost,
.cart-empty-icon .toboo-cart-empty__ghost {
	position: absolute;
	top: -0.85rem;
	left: 50%;
	transform: translateX(-50%) rotate(0deg);
	transform-origin: center bottom;
	font-size: 3rem;
	width: 3rem;
	height: 3rem;
	color: var(--wp--preset--color--hell, #b5d91f);
	filter: drop-shadow(0 2px 3px rgba(0, 0, 0, 0.85));
	animation-name: cart_ghost;
	animation-duration: 6s;
	animation-iteration-count: infinite;
}

.toboo-cart-empty__ghost svg {
	width: 100%;
	height: 100%;
	fill: currentColor;
}

.toboo-cart-empty__title {
	margin: 1.25rem 0 0;
	font-size: 1.75rem;
	font-weight: 500;
	line-height: 1.15;
	text-align: center;
}

.toboo-cart-empty__subtitle {
	display: inline-block;
	margin-top: 0.25rem;
	font-size: 1.1rem;
	font-weight: 500;
}

/* Box + ghost jitter (with scale), then ghost peeks out. */
@keyframes cart_box_wobble {
	0%,
	22% {
		transform: translate(0, 0) rotate(0deg) scale(1);
	}
	26% {
		/* Dehnen ohne Wackeln */
		transform: translate(0, 0) rotate(0deg) scale(1.06, 0.94);
	}
	29% {
		transform: translate(0, 0) rotate(0deg) scale(0.96, 1.05);
	}
	32% {
		transform: translate(0, 0) rotate(0deg) scale(1);
	}
	36% {
		transform: translate(-2.5px, 0) rotate(-2.5deg) scale(1.01);
	}
	42% {
		transform: translate(3px, 0) rotate(3deg) scale(1.01);
	}
	46% {
		transform: translate(-1.5px, 0) rotate(-1.5deg) scale(1.01);
	}
	51% {
		transform: translate(2.5px, 0) rotate(2.5deg) scale(1.01);
	}
	55%,
	100% {
		transform: translate(0, 0) rotate(0deg) scale(1);
	}
}

@keyframes cart_ghost {
	0%,
	22% {
		top: -0.85rem;
		transform: translateX(-50%) rotate(0deg) scale(1);
	}
	26% {
		top: -0.85rem;
		transform: translateX(-50%) rotate(0deg) scale(1.07, 0.93);
	}
	29% {
		top: -0.85rem;
		transform: translateX(-50%) rotate(0deg) scale(0.95, 1.06);
	}
	32% {
		top: -0.85rem;
		transform: translateX(-50%) rotate(0deg) scale(1);
	}
	36% {
		top: -0.85rem;
		transform: translateX(calc(-50% - 2px)) rotate(-3deg) scale(1.015);
	}
	42% {
		top: -0.85rem;
		transform: translateX(calc(-50% + 2.5px)) rotate(3.5deg) scale(1.015);
	}
	46% {
		top: -0.85rem;
		transform: translateX(calc(-50% - 1.5px)) rotate(-2deg) scale(1.01);
	}
	51% {
		top: -0.85rem;
		transform: translateX(calc(-50% + 2px)) rotate(3deg) scale(1.015);
	}
	55%,
	58% {
		top: -0.85rem;
		transform: translateX(-50%) rotate(0deg) scale(1);
	}
	95% {
		top: calc(-0.85rem - 20px);
		transform: translateX(-50%) rotate(0deg) scale(1);
	}
	100% {
		top: -0.85rem;
		transform: translateX(-50%) rotate(0deg) scale(1);
	}
}

/* Remove row: opaque collapse (overrides broken style.css animation). */
@keyframes toboo-cart-remove {
	from {
		opacity: 1;
	}
	to {
		opacity: 0;
		height: 0 !important;
		padding-top: 0 !important;
		padding-bottom: 0 !important;
		margin-top: 0 !important;
		margin-bottom: 0 !important;
		border-width: 0 !important;
	}
}

.modal-cart .product.removed,
.modal-cart .toboo-cart-product.removed {
	display: block !important;
	pointer-events: none;
	overflow: hidden !important;
	animation: toboo-cart-remove 0.28s ease forwards;
}

.modal-cart .product.removed::after,
.modal-cart .toboo-cart-product.removed::after {
	content: none !important;
	display: none !important;
}

.modal-cart .product.removed > *,
.modal-cart .toboo-cart-product.removed > * {
	opacity: 0 !important;
	visibility: hidden !important;
}

/* Product list */
.modal-cart .products {
	display: flex;
	flex-direction: column;
	gap: 0.65rem;
}

.modal-cart .toboo-cart-product {
	position: relative;
	overflow: visible;
	padding: 0.85rem 1rem;
	margin: 0;
	align-items: flex-start !important;
	flex-wrap: nowrap !important;
	background: var(--tw-light, #e9edf0);
	border-radius: var(--tw-radius-card, 2.5rem);
	corner-shape: squircle;
	box-sizing: border-box;
}

.modal-cart .toboo-cart-product__status {
	position: absolute;
	top: 0.25rem;
	right: 0.3rem;
	z-index: 4;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.35rem;
	height: 1.35rem;
	pointer-events: none;
	transition: opacity 0.28s ease;
}

.modal-cart .toboo-cart-product__status[hidden] {
	display: none !important;
}

.modal-cart .toboo-cart-product__status.is-fading {
	opacity: 0;
}

.modal-cart .toboo-cart-product__status .toboo-spin-center {
	position: static;
	inset: auto;
	transform: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
}

.modal-cart .toboo-cart-product__status .toboo-o-spinner,
.modal-cart .toboo-cart-product__status svg.toboo-o-spinner__svg {
	--tw-spinner-size: 1.15rem;
	--tw-spinner-size-max: 1.15rem;
	width: 1.15rem !important;
	height: 1.15rem !important;
	max-width: 1.15rem !important;
	max-height: 1.15rem !important;
}

.modal-cart .toboo-cart-product__status-icon,
.modal-cart .toboo-cart-product__status .icon-svg {
	display: block;
	width: 1.35rem;
	height: 1.35rem;
}

.modal-cart .toboo-cart-product__status.is-success .icon-svg svg,
.modal-cart .toboo-cart-product__status.is-success .icon-svg svg * {
	fill: var(--wp--preset--color--hell, #b5d91f);
	color: var(--wp--preset--color--hell, #b5d91f);
}

.modal-cart .toboo-cart-product__status.is-error .icon-svg svg,
.modal-cart .toboo-cart-product__status.is-error .icon-svg svg * {
	fill: var(--wp--preset--color--rot, #e01e4a);
	color: var(--wp--preset--color--rot, #e01e4a);
}

.modal-cart .toboo-cart-product__message:empty {
	display: none;
	margin: 0;
	padding: 0;
}

.modal-cart .toboo-cart-product + .toboo-cart-product {
	border-top: 0;
}

.modal-cart .toboo-cart-product .wp-block-column {
	margin: 0;
	min-width: 0;
}

.modal-cart .toboo-cart-product__body {
	position: relative;
}

.modal-cart .toboo-cart-product__media {
	flex-basis: 18% !important;
	width: 18% !important;
	max-width: 5.5rem;
}

.modal-cart .toboo-cart-product__media-inner {
	position: relative;
	display: block;
	max-width: 5.5rem;
}

.modal-cart .toboo-cart-product__image {
	display: block;
	width: 100%;
	height: auto;
	max-width: 100%;
	border-radius: var(--tw-radius-card, 2.5rem);
	box-sizing: border-box;
}

.modal-cart .toboo-cart-product__soldout {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 0.3rem 0.55rem;
	border-radius: var(--tw-selection-radius-pill, var(--tw-radius-pill, 50rem));
	transform: translate(-50%, -50%) rotate(-14deg);
	line-height: 1;
	color: #fff;
	background: var(--wp--preset--color--rot, #e01e4a);
	font-weight: 600;
	text-transform: uppercase;
	font-size: 0.72rem;
	letter-spacing: 0.04em;
	white-space: nowrap;
	pointer-events: none;
}

.modal-cart .toboo-cart-product__media-inner.is-sold-out .toboo-cart-product__image {
	opacity: 0.55;
	filter: grayscale(0.35);
}

.modal-cart .toboo-cart-product__title {
	margin: 0 0 0.25rem;
	font-size: 1.1rem;
	font-weight: 600;
	line-height: 1.2;
}

.modal-cart .toboo-cart-product__desc {
	margin: 0 0 0.5rem;
	font-size: 0.875rem;
	line-height: 1.35;
	opacity: 0.85;
}

.modal-cart .toboo-cart-product__message,
.modal-cart .toboo-hint.toboo-cart-product__soldout-hint,
.modal-cart .toboo-hint.toboo-cart-product__delivery,
.modal-cart .toboo-delivery-time.toboo-cart-product__delivery {
	margin: 0 0 0.4rem;
	font-size: var(--toboo-hint-size, 0.875rem);
	font-weight: var(--toboo-hint-weight, 400);
	line-height: var(--toboo-hint-line, 1.35);
}

.modal-cart .toboo-cart-product__message .toboo-cart-notice {
	width: 100%;
}

.modal-cart .toboo-cart-product__message,
.modal-cart .toboo-hint.toboo-cart-product__soldout-hint {
	display: flex;
	align-items: center;
	gap: 0.35rem;
}

.modal-cart .toboo-hint.toboo-cart-product__delivery,
.modal-cart .toboo-delivery-time.toboo-cart-product__delivery {
	display: block;
	color: var(--toboo-hint-color, var(--toboo-green-text, #586b08));
}

.modal-cart .toboo-delivery-time.toboo-cart-product__delivery .toboo-delivery-time__icon,
.modal-cart .toboo-delivery-time.toboo-cart-product__delivery .icon-svg {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	vertical-align: middle;
	width: 1em;
	height: 1em;
	margin-right: 0.35rem;
	line-height: 0;
	color: inherit;
}

.modal-cart .toboo-delivery-time.toboo-cart-product__delivery .toboo-delivery-time__icon svg,
.modal-cart .toboo-delivery-time.toboo-cart-product__delivery .icon-svg svg {
	display: block;
	width: 1em;
	height: 1em;
	fill: currentColor;
}

.modal-cart .toboo-delivery-time.toboo-cart-product__delivery .delivery-time-data {
	display: inline;
	vertical-align: middle;
}

.modal-cart .toboo-hint--danger.toboo-cart-product__soldout-hint {
	color: var(--toboo-hint-color-danger, var(--wp--preset--color--danger, #ff3c17));
}

.modal-cart .toboo-cart-product__price {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.35rem 0.4rem;
	margin: 0 0 0.25rem;
	font-weight: 200;
}

.modal-cart .toboo-cart-product__current,
.modal-cart .toboo-cart-product__current .amount {
	font-weight: 500;
}

.modal-cart .toboo-cart-product__regular,
.modal-cart .toboo-cart-product__regular .amount,
.modal-cart .toboo-cart-product del,
.modal-cart .toboo-cart-product del .amount {
	font-weight: 200 !important;
	opacity: 0.75;
}

/* Compact qty — squircle like form fields, not the global .tw-input look. */
.modal-cart .toboo-cart-product__count,
.modal-cart .toboo-cart-product input[type="number"],
.toboo-cart-product__count,
.toboo-cart-product input[type="number"].cart-product-count {
	display: inline-block;
	box-sizing: border-box;
	width: 3rem;
	min-width: 3rem;
	max-width: 3rem;
	height: 2.25rem;
	margin: 0;
	padding: 0.25rem 0.35rem;
	border: 2px solid var(--tw-cyan, #c4cbd6);
	border-radius: var(--tw-radius-card, 2.5rem);
	corner-shape: squircle;
	background: #fff;
	color: var(--tw-secondary, #1e1e21);
	font: inherit;
	font-size: 1rem;
	font-weight: 500;
	line-height: 1;
	text-align: center;
	vertical-align: middle;
	-moz-appearance: textfield;
	appearance: textfield;
	transition: border-color 0.15s ease;
}

.modal-cart .toboo-cart-product__count::-webkit-outer-spin-button,
.modal-cart .toboo-cart-product__count::-webkit-inner-spin-button,
.modal-cart .toboo-cart-product input[type="number"]::-webkit-outer-spin-button,
.modal-cart .toboo-cart-product input[type="number"]::-webkit-inner-spin-button,
.toboo-cart-product__count::-webkit-outer-spin-button,
.toboo-cart-product__count::-webkit-inner-spin-button,
.toboo-cart-product input[type="number"].cart-product-count::-webkit-outer-spin-button,
.toboo-cart-product input[type="number"].cart-product-count::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.modal-cart .toboo-cart-product__count:focus,
.modal-cart .toboo-cart-product input[type="number"]:focus,
.toboo-cart-product__count:focus,
.toboo-cart-product input[type="number"].cart-product-count:focus {
	outline: 0;
	border-color: var(--toboo-green-text, #586b08);
	box-shadow: 0 0 0 0.25rem rgba(146, 181, 17, 0.25);
}

.modal-cart .toboo-cart-product__count:disabled,
.modal-cart .toboo-cart-product input[type="number"]:disabled,
.toboo-cart-product__count:disabled,
.toboo-cart-product input[type="number"].cart-product-count:disabled {
	opacity: 0.55;
	cursor: not-allowed;
}

/* Inline field spinner (quantity refresh) — inside the control on the right. */
.toboo-cart-field-spin--inset {
	position: absolute;
	right: 0.35rem;
	top: 50%;
	transform: translateY(-50%);
	width: 1.25rem;
	height: 1.25rem;
	margin: 0;
	pointer-events: none;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.toboo-cart-field-spin {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.25rem;
	height: 2.25rem;
	margin-left: 0.15rem;
	vertical-align: middle;
	flex: 0 0 auto;
}

.toboo-cart-field-spin:not(:has(.toboo-inline-spinner)) {
	width: 0;
	height: 0;
	margin-left: 0;
	overflow: hidden;
}

.toboo-cart-field-spin .toboo-inline-spinner .toboo-o-spinner,
.toboo-cart-field-spin .toboo-inline-spinner svg.toboo-o-spinner__svg {
	--tw-spinner-size: 1rem;
	--tw-spinner-size-max: 1rem;
	width: 1rem !important;
	height: 1rem !important;
	max-width: 1rem !important;
	max-height: 1rem !important;
	flex: 0 0 1rem !important;
}

/* Checkout — inline field spinner (validation / update_checkout). */
#checkout_form .toboo-field-spin--inset {
	position: absolute;
	right: 0.9rem;
	top: 50%;
	transform: translateY(-50%);
	width: 1.25rem;
	height: 1.25rem;
	margin: 0;
	pointer-events: none;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

#checkout_form .form-row:has(.toboo-field-spin--inset .toboo-inline-spinner) .toboo-field,
#checkout_form .form-row:has(.toboo-field-spin--inset .toboo-inline-spinner) textarea.toboo-field {
	padding-right: 2.65rem;
}

#checkout_form .select2-container .toboo-field-spin--inset {
	right: 2.75rem;
}

#checkout_form select.country_select.select2-hidden-accessible,
#checkout_form select.state_select.select2-hidden-accessible {
	position: static !important;
	width: 100% !important;
	height: auto !important;
	min-height: 3.5rem !important;
	padding: 1.55rem 2.75rem 0.5rem 0.9rem !important;
	margin: 0 !important;
	border: 2px solid var(--tw-cyan, #c4cbd6) !important;
	border-radius: var(--tw-radius-card, 2.5rem) !important;
	corner-shape: squircle;
	overflow: visible !important;
	clip: auto !important;
	white-space: normal !important;
	opacity: 1 !important;
}

/* Country / state: always native Toboo selects — hide stray Select2 chrome. */
.toboo-checkout-body #billing_country_field .select2-container,
.toboo-checkout-body #billing_state_field .select2-container,
.toboo-checkout-body #shipping_country_field .select2-container,
.toboo-checkout-body #shipping_state_field .select2-container,
.toboo-account-form #billing_country_field .select2-container,
.toboo-account-form #billing_state_field .select2-container,
.toboo-account-form #shipping_country_field .select2-container,
.toboo-account-form #shipping_state_field .select2-container,
.toboo-account-page-shell #billing_country_field .select2-container,
.toboo-account-page-shell #billing_state_field .select2-container,
.toboo-account-page-shell #shipping_country_field .select2-container,
.toboo-account-page-shell #shipping_state_field .select2-container {
	display: none !important;
}

.toboo-checkout-body #billing_country_field .woocommerce-input-wrapper,
.toboo-checkout-body #billing_state_field .woocommerce-input-wrapper,
.toboo-checkout-body #shipping_country_field .woocommerce-input-wrapper,
.toboo-checkout-body #shipping_state_field .woocommerce-input-wrapper,
.toboo-account-form #billing_country_field .woocommerce-input-wrapper,
.toboo-account-form #billing_state_field .woocommerce-input-wrapper,
.toboo-account-form #shipping_country_field .woocommerce-input-wrapper,
.toboo-account-form #shipping_state_field .woocommerce-input-wrapper,
.toboo-account-page-shell #billing_country_field .woocommerce-input-wrapper,
.toboo-account-page-shell #billing_state_field .woocommerce-input-wrapper,
.toboo-account-page-shell #shipping_country_field .woocommerce-input-wrapper,
.toboo-account-page-shell #shipping_state_field .woocommerce-input-wrapper {
	display: block;
	width: 100%;
}

.toboo-checkout-body select.country_select,
.toboo-checkout-body select.country_to_state,
.toboo-checkout-body select.state_select,
.toboo-account-form select.country_select,
.toboo-account-form select.country_to_state,
.toboo-account-form select.state_select,
.toboo-account-page-shell select.country_select,
.toboo-account-page-shell select.country_to_state,
.toboo-account-page-shell select.state_select {
	display: block;
	width: 100%;
	min-height: 3.5rem;
	padding: 1.55rem 2.75rem 0.5rem 0.9rem;
	border: 2px solid var(--tw-cyan, #c4cbd6);
	border-radius: var(--tw-radius-card, 2.5rem);
	corner-shape: squircle;
	background-color: #fff;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%231e1e21' stroke-width='1.75' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 1.1rem center;
	background-size: 12px 8px;
	font: inherit;
	font-size: 1.05rem;
	color: var(--tw-secondary, #1e1e21);
	-webkit-text-fill-color: var(--tw-secondary, #1e1e21);
	appearance: none;
	cursor: pointer;
	transition: border-color 0.15s ease;
}

.toboo-checkout-body select.country_select:hover,
.toboo-checkout-body select.country_to_state:hover,
.toboo-checkout-body select.state_select:hover,
.toboo-account-form select.country_select:hover,
.toboo-account-form select.country_to_state:hover,
.toboo-account-form select.state_select:hover,
.toboo-account-page-shell select.country_select:hover,
.toboo-account-page-shell select.country_to_state:hover,
.toboo-account-page-shell select.state_select:hover {
	border-color: var(--tw-secondary, #1e1e21);
}

.toboo-checkout-body select.country_select:focus,
.toboo-checkout-body select.country_to_state:focus,
.toboo-checkout-body select.state_select:focus,
.toboo-account-form select.country_select:focus,
.toboo-account-form select.country_to_state:focus,
.toboo-account-form select.state_select:focus,
.toboo-account-page-shell select.country_select:focus,
.toboo-account-page-shell select.country_to_state:focus,
.toboo-account-page-shell select.state_select:focus {
	outline: 0;
	border-color: var(--toboo-green-text, #586b08);
	box-shadow: 0 0 0 0.25rem rgba(146, 181, 17, 0.25);
}

.toboo-checkout-body .form-row.woocommerce-invalid select.country_select,
.toboo-checkout-body .form-row.woocommerce-invalid select.country_to_state,
.toboo-checkout-body .form-row.woocommerce-invalid select.state_select,
.toboo-account-form .form-row.woocommerce-invalid select.country_select,
.toboo-account-form .form-row.woocommerce-invalid select.country_to_state,
.toboo-account-form .form-row.woocommerce-invalid select.state_select,
.toboo-account-page-shell .form-row.woocommerce-invalid select.country_select,
.toboo-account-page-shell .form-row.woocommerce-invalid select.country_to_state,
.toboo-account-page-shell .form-row.woocommerce-invalid select.state_select {
	border-color: var(--tw-danger, #ff3c17);
	box-shadow: 0 0 0 0.25rem rgba(255, 60, 23, 0.22);
}

/* Shiptastic pickup: readonly country/state — native select, no Select2 gray boxes. */
.toboo-checkout-body .wc-shiptastic-managed-by-pickup-location select.toboo-field,
.toboo-checkout-body .wc-shiptastic-managed-by-pickup-location select.toboo-field--select,
.toboo-checkout-body .wc-shiptastic-managed-by-pickup-location select.country_select,
.toboo-checkout-body .wc-shiptastic-managed-by-pickup-location select.state_select,
.toboo-account-form .wc-shiptastic-managed-by-pickup-location select.toboo-field,
.toboo-account-form .wc-shiptastic-managed-by-pickup-location select.toboo-field--select,
.toboo-account-form .wc-shiptastic-managed-by-pickup-location select.country_select,
.toboo-account-form .wc-shiptastic-managed-by-pickup-location select.state_select,
.toboo-account-page-shell .wc-shiptastic-managed-by-pickup-location select.toboo-field,
.toboo-account-page-shell .wc-shiptastic-managed-by-pickup-location select.toboo-field--select,
.toboo-account-page-shell .wc-shiptastic-managed-by-pickup-location select.country_select,
.toboo-account-page-shell .wc-shiptastic-managed-by-pickup-location select.state_select {
	background-color: color-mix(in srgb, var(--tw-secondary, #1e1e21) 4%, #fff);
	border-color: var(--tw-cyan, #c4cbd6);
	cursor: default;
	pointer-events: none;
}

.toboo-checkout-body .wc-shiptastic-managed-by-pickup-location-notice,
.toboo-account-form .wc-shiptastic-managed-by-pickup-location-notice,
.toboo-account-page-shell .wc-shiptastic-managed-by-pickup-location-notice {
	color: color-mix(in srgb, var(--tw-secondary, #1e1e21) 55%, transparent);
	font-size: 0.72rem;
}

#checkout_form .toboo-field-spin:not(.toboo-field-spin--inset) {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.25rem;
	height: 2.25rem;
	margin-left: 0.35rem;
	vertical-align: middle;
	flex: 0 0 auto;
}

#checkout_form .toboo-field-spin:not(.toboo-field-spin--inset):not(:has(.toboo-inline-spinner)) {
	width: 0;
	height: 0;
	margin-left: 0;
	overflow: hidden;
}

#checkout_form .toboo-field-spin .toboo-inline-spinner .toboo-o-spinner,
#checkout_form .toboo-field-spin .toboo-inline-spinner svg.toboo-o-spinner__svg {
	--tw-spinner-size: 1rem;
	--tw-spinner-size-max: 1rem;
	width: 1rem !important;
	height: 1rem !important;
	max-width: 1rem !important;
	max-height: 1rem !important;
	flex: 0 0 1rem !important;
}

/* Contextual inline spinners (cart, checkout, buttons). */
.toboo-inline-spinner {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 0;
	vertical-align: middle;
}

.is-tw-spin-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.35rem;
}

.is-tw-spin-button > .toboo-btn-spin {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	margin-left: auto;
	line-height: 0;
}

.is-tw-spin-button > .toboo-btn-spin .toboo-o-spinner,
.is-tw-spin-button > .toboo-btn-spin svg.toboo-o-spinner__svg {
	--tw-spinner-size: 1rem;
	--tw-spinner-size-max: 1rem;
	width: 1rem;
	height: 1rem;
	max-width: 1rem;
	max-height: 1rem;
	flex: 0 0 1rem;
}

.is-tw-spin-button-icon .toboo-btn-icon-spin {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 0;
	vertical-align: middle;
	flex: 0 0 auto;
}

.is-tw-spin-button-icon .toboo-btn-icon-spin .toboo-o-spinner,
.is-tw-spin-button-icon .toboo-btn-icon-spin svg.toboo-o-spinner__svg {
	--tw-spinner-size: 1rem;
	--tw-spinner-size-max: 1rem;
	width: 1rem;
	height: 1rem;
	max-width: 1rem;
	max-height: 1rem;
	flex: 0 0 1rem;
}

.toboo-product-atc__icon-wrap.toboo-btn-icon-spin {
	width: 1.25rem;
	height: 1.25rem;
}

.is-tw-spin-replace {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 1.75rem;
	min-height: 1.75rem;
	line-height: 0;
	pointer-events: none;
}

.is-tw-spin-replace .toboo-inline-spinner .toboo-o-spinner,
.is-tw-spin-replace .toboo-inline-spinner svg.toboo-o-spinner__svg {
	--tw-spinner-size: 1rem;
	--tw-spinner-size-max: 1rem;
	width: 1rem;
	height: 1rem;
	max-width: 1rem;
	max-height: 1rem;
	flex: 0 0 1rem;
}

.toboo-cart-recs__add.is-tw-spin-replace,
.remove-from-cart.is-tw-spin-replace {
	border: 0;
	background: transparent;
}


.modal-cart .toboo-cart-product__remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.35rem;
	height: 1.35rem;
	margin: 0 0 0 0.15rem;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--wp--preset--color--danger, #ff3c17);
	cursor: pointer;
	line-height: 1;
	text-decoration: none;
	opacity: 0;
	visibility: hidden;
	transform: scale(0.92);
	transition: opacity 0.15s ease, visibility 0.15s ease, transform 0.15s ease;
}

.modal-cart .toboo-cart-product:hover .toboo-cart-product__remove,
.modal-cart .toboo-cart-product:focus-within .toboo-cart-product__remove,
.modal-cart .toboo-cart-product__remove:focus-visible {
	opacity: 1;
	visibility: visible;
	transform: scale(1);
}

.modal-cart .toboo-cart-product__remove:hover,
.modal-cart .toboo-cart-product__remove:focus-visible {
	color: var(--wp--preset--color--danger, #ff3c17);
	filter: brightness(0.9);
}

.modal-cart .toboo-cart-product__remove-icon,
.modal-cart .toboo-cart-product__remove .icon-svg,
.modal-cart .toboo-cart-product__remove .icon-svg svg,
.modal-cart .toboo-cart-product__remove i {
	display: block;
	width: 0.95rem;
	height: 0.95rem;
	font-size: 0.95rem;
	line-height: 1;
	color: inherit;
	fill: currentColor;
}

@media (hover: none) {
	.modal-cart .toboo-cart-product__remove {
		opacity: 1;
		visibility: visible;
		transform: none;
	}
}

.modal-cart .toboo-cart-product__message:empty {
	display: none;
}

.modal-cart .toboo-cart-product__message--success,
.modal-cart .toboo-cart-product__message--warning {
	color: var(--toboo-green-text, var(--wp--preset--color--green-text, #586b08));
}

.modal-cart .toboo-cart-product__message--error {
	color: var(--wp--preset--color--danger, #ff3c17);
}

.modal-cart .toboo-cart-product p:last-child {
	margin-bottom: 0;
}

/* Summary rows */
.modal-cart .toboo-cart-summary {
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
}

.modal-cart .toboo-cart-summary__checkout {
	margin-top: 1rem;
	overflow: visible;
}

#shop-modal .toboo-cart-modal__footer .toboo-cart-summary__checkout {
	margin-top: 0;
}

.modal-cart .toboo-cart-summary__row {
	margin: 0 !important;
	align-items: baseline !important;
	flex-wrap: nowrap !important;
	gap: 0.35rem !important;
}

.modal-cart .toboo-cart-summary__label,
.modal-cart .toboo-cart-summary__value {
	text-align: end;
	min-width: 0;
}

.modal-cart .toboo-cart-summary__label {
	flex: 1 1 auto !important;
	flex-basis: auto !important;
	max-width: none;
}

.modal-cart .toboo-cart-summary__value {
	flex: 0 1 auto !important;
	flex-basis: auto !important;
	width: auto !important;
	min-width: 7.5rem;
}

.modal-cart .toboo-cart-summary__value > .toboo-cart-summary__text,
.modal-cart .toboo-cart-summary__value .woocommerce-Price-amount,
.modal-cart .toboo-cart-summary__text--total,
.modal-cart .toboo-cart-summary__text--strong {
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
}

.modal-cart .toboo-cart-summary__row--savings {
	margin-top: 0.15rem !important;
}

.modal-cart .toboo-cart-summary__row--total {
	margin-top: 0.25rem !important;
}

.modal-cart .toboo-cart-summary__text {
	font-size: 0.875rem;
}

.modal-cart .toboo-cart-summary__text--strong {
	font-weight: 500;
}

.modal-cart .toboo-cart-summary__text--discount {
	color: var(--wp--preset--color--danger, #ff3c17);
}

.modal-cart .toboo-cart-summary__text--total {
	font-size: 1.05rem;
	font-weight: 500;
	color: var(--toboo-green-text, var(--wp--preset--color--green-text, #586b08));
}

.modal-cart .toboo-cart-summary__text--muted {
	font-size: 0.7rem;
}

.modal-cart .toboo-cart-summary__total-wrap {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 0.1rem;
	line-height: 1.2;
}

.modal-cart .toboo-cart-summary__tax-note {
	display: block;
	font-size: 0.625rem;
	font-weight: 200;
	line-height: 1.3;
	opacity: 0.75;
	color: inherit;
	text-align: end;
}

.modal-cart .toboo-cart-summary__savings-badge {
	display: inline-flex;
	align-items: center;
	justify-content: flex-end;
	gap: 0.25rem;
	margin: 0;
	padding: 0.2rem 0.55rem;
	border: 0;
	border-radius: var(--tw-radius-pill, 50rem);
	background: color-mix(in srgb, var(--wp--preset--color--primary, #849e14) 18%, white);
	color: var(--toboo-green-text, var(--wp--preset--color--green-text, #586b08));
	font-size: 0.75rem;
	font-weight: 500;
	line-height: 1.2;
	white-space: nowrap;
}

.modal-cart .toboo-cart-summary__savings-badge .woocommerce-Price-amount,
.modal-cart .toboo-cart-summary__savings-badge .amount {
	font-weight: 600;
}

/* BC: previous savings note class */
.modal-cart .toboo-cart-summary__savings-note {
	display: block;
	margin-top: 0.15rem;
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.3;
	color: var(--toboo-green-text, var(--wp--preset--color--green-text, #586b08));
	text-align: end;
}

/* Global panel block (cart shipping/coupon, checkout address summary, …). */
.toboo-panel,
.toboo-cart-panel,
.modal-cart .toboo-cart-shipping,
.modal-cart .toboo-cart-coupon,
.modal-cart #apply-coupon {
	--toboo-panel-fg: var(--tw-color-dark, #141416);
	--toboo-cart-panel-fg: var(--toboo-panel-fg);
	margin: 0 0 0.75rem;
	border: 0;
	border-radius: var(--tw-radius-card, 2.5rem);
	corner-shape: squircle;
	background: color-mix(in srgb, var(--toboo-panel-fg) 6%, #fff);
	box-sizing: border-box;
	overflow: hidden;
	color: var(--toboo-panel-fg);
	position: relative;
}

.toboo-panel__inner,
.toboo-cart-panel__inner,
.modal-cart .toboo-cart-panel__inner {
	display: block;
	padding: 0.85rem 1rem;
	background: var(--tw-light, #e9edf0);
	color: var(--tw-secondary, #1e1e21);
}

/* Checkout panels: white (cart modal keeps light inner). */
.woocommerce-checkout .toboo-panel,
.woocommerce-checkout .toboo-panel__inner {
	background: #fff;
}

/*
 * Abschluss (#shop-cart-review): each product is its own card;
 * summary + extras + legal + submit share one meta card.
 */
.woocommerce-checkout #shop-cart-review {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.woocommerce-checkout #shop-cart-review .toboo-cart-main--checkout {
	display: contents;
}

.woocommerce-checkout #shop-cart-review .toboo-checkout-review-products {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	margin: 0;
	padding: 0;
	background: transparent;
	border-radius: 0;
	overflow: visible;
}

.woocommerce-checkout #shop-cart-review .toboo-checkout-product-card {
	margin: 0;
	padding: 0.85rem 1rem;
	background: #fff;
	border: 0;
	border-radius: var(--tw-radius-card, 2.5rem);
	corner-shape: squircle;
	box-sizing: border-box;
	color: var(--tw-secondary, #1e1e21);
	overflow: visible;
}

.woocommerce-checkout #shop-cart-review .toboo-checkout-product-card + .toboo-checkout-product-card {
	margin-top: 0;
	border-top: 0;
	padding-top: 0.85rem;
}

.woocommerce-checkout #shop-cart-review .toboo-checkout-product-card .toboo-cart-product__title-text {
	color: var(--tw-secondary, #1e1e21);
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;
}

.woocommerce-checkout #shop-cart-review .toboo-checkout-product-card .toboo-cart-product__price {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.35rem 0.4rem;
}

.woocommerce-checkout #shop-cart-review .toboo-checkout-product-card .toboo-cart-product__qty,
.woocommerce-checkout #shop-cart-review .toboo-checkout-product-card .toboo-cart-product__times {
	font-weight: 500;
}

.woocommerce-checkout #shop-cart-review .toboo-checkout-product-card .toboo-cart-product__current,
.woocommerce-checkout #shop-cart-review .toboo-checkout-product-card .toboo-cart-product__current .amount {
	font-weight: 500;
}

.woocommerce-checkout #shop-cart-review .toboo-checkout-review-payment {
	margin: 0;
}

.woocommerce-checkout #shop-cart-review .toboo-checkout-review-payment__line {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.35rem 0.5rem;
	margin: 0;
	font-size: 0.9375rem;
	line-height: 1.35;
}

.woocommerce-checkout #shop-cart-review .toboo-checkout-review-payment__label {
	font-weight: 500;
	color: var(--tw-secondary, #1e1e21);
}

.woocommerce-checkout #shop-cart-review .toboo-checkout-review-payment__value {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	min-width: 0;
}

.woocommerce-checkout #shop-cart-review .toboo-checkout-review-payment__title {
	font-weight: 500;
}

.woocommerce-checkout #shop-cart-review .toboo-checkout-review-payment__description {
	margin: 0.65rem 0 0;
	font-size: 0.875rem;
	line-height: 1.45;
	color: color-mix(in srgb, currentColor 78%, transparent);
}

.woocommerce-checkout #shop-cart-review .toboo-checkout-review-payment__description > :first-child {
	margin-top: 0;
}

.woocommerce-checkout #shop-cart-review .toboo-checkout-review-payment__description > :last-child {
	margin-bottom: 0;
}

.woocommerce-checkout #shop-cart-review .toboo-checkout-review-payment .toboo-payment-method__icons {
	opacity: 1;
}

.woocommerce-checkout #shop-cart-review .toboo-checkout-review-meta {
	margin: 0;
}

.woocommerce-checkout #shop-cart-review .toboo-checkout-review-meta > .toboo-panel__inner {
	padding: 0.85rem 1rem;
	background: #fff;
}

.woocommerce-checkout #shop-cart-review .toboo-checkout-review-meta .cart-summary {
	margin: 0 0 1rem;
	padding: 0;
	background: transparent;
}

.woocommerce-checkout #shop-cart-review .woocommerce-additional-fields {
	margin: 0 0 0.75rem;
}

.woocommerce-checkout #shop-cart-review .form-row.place-order {
	margin: 0;
	padding: 0;
}

/* Legacy shared wrapper — no longer used on checkout Abschluss. */
.woocommerce-checkout #shop-cart-review .products,
.woocommerce-checkout #shop-cart-review .toboo-cart-panel,
.woocommerce-checkout #shop-cart-review .toboo-cart-panel__inner,
.woocommerce-checkout #shop-cart-review .toboo-cart-shipping,
.woocommerce-checkout #shop-cart-review .toboo-cart-coupon--compact .toboo-cart-coupon__body {
	background: #fff;
	border-radius: var(--tw-radius-card, 2.5rem);
	corner-shape: squircle;
}

.woocommerce-checkout #shop-cart-review .products {
	margin: 0 0 0.75rem;
	padding: 0.85rem 1rem;
	box-sizing: border-box;
	overflow: hidden;
	gap: 0;
}

.woocommerce-checkout #shop-cart-review .toboo-cart-product:not(.toboo-checkout-product-card) {
	background: transparent;
	border-radius: 0;
	corner-shape: unset;
	padding: 0 0 1rem;
}

.woocommerce-checkout #shop-cart-review .toboo-cart-product:not(.toboo-checkout-product-card):last-child {
	padding-bottom: 0;
}

.woocommerce-checkout #shop-cart-review .toboo-cart-product:not(.toboo-checkout-product-card) + .toboo-cart-product:not(.toboo-checkout-product-card) {
	padding-top: 1rem;
	border-top: 0;
}

.woocommerce-checkout #shop-cart-review .toboo-cart-shipping--edit .toboo-cart-panel__inner {
	padding: 0.85rem 1rem;
}

.woocommerce-checkout #shop-cart-review .toboo-cart-coupon--compact .toboo-cart-coupon__body {
	padding: 0.85rem 1rem;
}

.toboo-panel__title,
.toboo-cart-panel__title,
.modal-cart .toboo-cart-shipping__title,
.modal-cart .toboo-cart-panel__title {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin: 0 0 0.45rem;
	font-size: 1.05rem;
	font-weight: 600;
	line-height: 1.3;
	color: inherit;
}

.toboo-cart-panel__title-icon,
.toboo-cart-panel__title .icon-svg,
.toboo-cart-panel__title .icon-svg,
.toboo-cart-panel__title svg,
.toboo-cart-modal__title-icon,
.toboo-cart-modal__title .icon-svg,
.toboo-cart-modal__title svg {
	display: block;
	width: 1.1rem;
	height: 1.1rem;
	flex: 0 0 auto;
	color: inherit;
	fill: currentColor;
}

.tw-shop-modal .toboo-cart-modal__title,
#shop-modal .toboo-cart-modal__title,
.tw-shop-modal .toboo-cart-modal__title,
#shop-modal .toboo-cart-modal__title {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	flex-wrap: wrap;
}

.toboo-cart-panel__title-label,
.toboo-cart-panel__title-label,
.toboo-cart-modal__title-label,
.toboo-cart-modal__title-label {
	min-width: 0;
}

.toboo-panel__body,
.toboo-cart-panel__body,
.modal-cart .toboo-cart-shipping__body,
.modal-cart .toboo-cart-panel__body {
	margin: 0;
}

/* Address summary (checkout billing / shipping preview). */
.toboo-address-summary__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.75rem 1rem;
	font-size: 0.9375rem;
	line-height: 1.45;
}

.toboo-address-summary__contact-icon,
.toboo-address-summary__contact .icon-svg {
	display: inline-block;
	width: 1em;
	height: 1em;
	vertical-align: -0.125em;
	margin-right: 0.3rem;
	color: inherit;
}

.toboo-address-summary__contact-icon svg,
.toboo-address-summary__contact .icon-svg svg {
	display: block;
	width: 100%;
	height: 100%;
	fill: currentColor;
}

.toboo-checkout-heading-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	margin: 0 0 0.75rem;
	position: relative;
	z-index: 2;
}

.woocommerce-checkout .toboo-checkout-heading-row .toboo-checkout-heading,
.woocommerce-checkout .toboo-checkout-heading-row h4,
.toboo-account .toboo-checkout-heading-row .toboo-checkout-heading,
.toboo-account-page-shell .toboo-checkout-heading-row .toboo-checkout-heading {
	margin: 0;
	padding: 0;
	flex: 1 1 auto;
	min-width: 0;
}

@media (max-width: 599px) {
	.toboo-address-summary__grid {
		grid-template-columns: 1fr;
	}
}

.toboo-checkout-heading {
	display: flex;
	align-items: center;
	gap: 0.55rem;
	margin-top: 0;
	margin-bottom: 0.75rem;
	/* Match checkout h3 size regardless of tag (h2/h3/h4/legend). */
	font-size: 1.4rem;
	font-weight: 600;
	line-height: 1.3;
	color: var(--tw-secondary, #1e1e21);
}

.woocommerce-checkout .toboo-checkout-heading,
.toboo-account .toboo-checkout-heading,
.toboo-account-page-shell .toboo-checkout-heading,
.toboo-account-form .toboo-checkout-heading {
	font-size: 1.4rem;
	font-weight: 600;
	line-height: 1.3;
}

.toboo-checkout-shipping-block {
	margin-top: 2rem;
}

.toboo-checkout-shipping-block .toboo-checkout-heading-row {
	margin-top: 0;
}

.toboo-address-summary .toboo-panel__inner > .toboo-checkout-heading-row,
.toboo-address-summary .toboo-panel__inner > .toboo-checkout-heading {
	margin-bottom: 0.85rem;
}

.toboo-address-summary .toboo-panel__inner > .toboo-checkout-heading-row:last-child,
.toboo-address-summary .toboo-panel__inner > .toboo-checkout-heading:last-child {
	margin-bottom: 0;
}

.toboo-address-summary__content {
	position: relative;
}

.toboo-address-summary__content > .toboo-address-summary__grid {
	margin-top: 0;
}

.toboo-checkout-shipping-block .toboo-checkout-heading {
	margin-top: 0;
}

.toboo-checkout-heading__icon,
.toboo-checkout-heading .icon-svg,
.toboo-checkout-heading svg {
	display: block;
	width: 1.15rem;
	height: 1.15rem;
	flex: 0 0 auto;
	color: inherit;
	fill: currentColor;
}

.toboo-checkout-heading__label {
	min-width: 0;
}

.toboo-checkout-shipping-heading__dropdown {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	margin: 0 0 0 0.15rem;
	padding: 0.15rem;
	border: 0;
	background: none;
	color: inherit;
	cursor: pointer;
	line-height: 0;
}

.toboo-checkout-shipping-heading__dropdown[hidden] {
	display: none !important;
}

.toboo-checkout-shipping-heading__dropdown:hover,
.toboo-checkout-shipping-heading__dropdown:focus-visible {
	color: var(--toboo-green-text, var(--wp--preset--color--green-text, #586b08));
	outline: 0;
}

.toboo-checkout-shipping-heading__dropdown-icon,
.toboo-checkout-shipping-heading__dropdown .icon-svg,
.toboo-checkout-shipping-heading__dropdown svg {
	display: block;
	width: 0.85rem;
	height: 0.85rem;
	fill: currentColor;
	color: inherit;
}

.toboo-checkout-heading-row__actions {
	display: inline-flex;
	align-items: center;
	justify-content: flex-end;
	flex: 0 0 auto;
	flex-wrap: wrap;
	gap: 0.75rem 1rem;
}

.toboo-checkout-heading-row__edit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	gap: 0.4rem;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	color: var(--tw-secondary, #1e1e21);
	font: inherit;
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.2;
	text-decoration: none;
	cursor: pointer;
}

.toboo-checkout-heading-row__edit-icon,
.toboo-checkout-heading-row__edit .icon-svg,
.toboo-checkout-heading-row__edit svg {
	display: block;
	width: 1rem;
	height: 1rem;
	flex: 0 0 auto;
	color: inherit;
	fill: currentColor;
}

.toboo-checkout-heading-row__edit:hover,
.toboo-checkout-heading-row__edit:focus-visible {
	color: var(--toboo-green-text, var(--wp--preset--color--green-text, #586b08));
	text-decoration: underline;
	outline: 0;
}

.toboo-checkout-heading-row__edit[hidden] {
	display: none !important;
}

.toboo-address-save-actions,
.toboo-billing-save-actions,
.toboo-shipping-save-actions {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin-top: 1rem;
}

.toboo-address-save-actions__primary {
	flex: 1 1 auto;
	min-width: 0;
	margin: 0;
}

.toboo-address-cancel {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	color: var(--tw-secondary, #1e1e21);
	font: inherit;
	font-size: 0.9375rem;
	font-weight: 500;
	line-height: 1.2;
	text-decoration: none;
	cursor: pointer;
}

.toboo-address-cancel:hover,
.toboo-address-cancel:focus-visible {
	color: var(--toboo-green-text, var(--wp--preset--color--green-text, #586b08));
	text-decoration: underline;
	outline: 0;
}

/* Field-styled checkbox (matches checkout inputs). */
.toboo-field-check {
	position: relative;
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
	width: 100%;
	min-height: 3.5rem;
	margin: 0 0 1rem;
	padding: 0.85rem 0.9rem;
	border: 2px solid var(--tw-cyan, #c4cbd6);
	border-radius: var(--tw-radius-card, 2.5rem);
	corner-shape: squircle;
	background: #fff;
	box-sizing: border-box;
	cursor: pointer;
	color: var(--tw-secondary, #1e1e21);
	font-size: 1.05rem;
	line-height: 1.35;
}

.toboo-field-check__label {
	flex: 1 1 auto;
	min-width: 0;
	font-weight: 500;
}

.toboo-field-check:hover {
	border-color: color-mix(in srgb, var(--tw-secondary, #1e1e21) 35%, var(--tw-cyan, #c4cbd6));
}

.toboo-shipping-default-check {
	margin: 0 0 1rem;
}

.toboo-checkout-body .form-row + .toboo-field-check,
.toboo-account-form .form-row + .toboo-field-check,
.toboo-account-page-shell .form-row + .toboo-field-check {
	margin-top: 0;
}

.shipping-address .toboo-address-summary .toboo-panel__inner,
.toboo-address-summary:has(> .toboo-panel__inner > .toboo-address-summary__default-star) .toboo-panel__inner,
.toboo-address-summary:has(.toboo-address-summary__default-star) .toboo-panel__inner {
	position: relative;
}

.shipping-address .toboo-address-summary .toboo-panel__inner:has(> .toboo-address-summary__default-star) .toboo-checkout-heading-row {
	padding-right: 1.85rem;
}

.toboo-address-summary__default-star {
	position: absolute;
	top: 0.85rem;
	right: 1rem;
	z-index: 3;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--tw-secondary, #1e1e21);
	cursor: pointer;
	appearance: none;
	overflow: visible;
}

.toboo-address-summary__default-star:focus-visible {
	outline: 2px solid var(--toboo-green-text, #586b08);
	outline-offset: 2px;
}

.toboo-address-summary__default-star.is-outline {
	color: var(--tw-secondary, #1e1e21);
	opacity: 0.55;
}

.toboo-address-summary__default-star.is-outline:hover,
.toboo-address-summary__default-star.is-outline:focus-visible {
	color: #000;
	opacity: 1;
}

.toboo-address-summary__default-star.is-filled {
	color: var(--wp--preset--color--primary, #849e14);
	opacity: 1;
}

.toboo-address-summary__default-star-icon,
.toboo-address-summary__default-star .icon-svg,
.toboo-address-summary__default-star svg {
	display: block;
	width: 1rem;
	height: 1rem;
	fill: currentColor;
	color: inherit;
}

.toboo-address-summary__default-star-fallback {
	font-size: 1rem;
	line-height: 1;
	font-weight: 400;
}

.toboo-address-summary__default-star-burst {
	position: absolute;
	left: 50%;
	top: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 0;
	color: var(--wp--preset--color--primary, #849e14);
	pointer-events: none;
	transform: translate(-50%, -50%) scale(1);
	opacity: 0.75;
	animation: toboo-default-star-burst 0.55s ease-out forwards;
}

.toboo-address-summary__default-star-burst .toboo-address-summary__default-star-icon,
.toboo-address-summary__default-star-burst .icon-svg,
.toboo-address-summary__default-star-burst svg,
.toboo-address-summary__default-star-burst .toboo-address-summary__default-star-fallback {
	display: block;
	width: 1rem;
	height: 1rem;
	fill: currentColor;
	color: inherit;
}

@keyframes toboo-default-star-burst {
	0% {
		transform: translate(-50%, -50%) scale(1);
		opacity: 0.75;
	}
	100% {
		transform: translate(-50%, -50%) scale(2.4);
		opacity: 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	.toboo-address-summary__default-star-burst {
		animation: none;
		opacity: 0;
	}
}


.modal-cart .toboo-cart-shipping__methods {
	list-style: none;
	margin: 0;
	padding: 0;
}

.modal-cart .toboo-cart-shipping__method {
	margin: 0 0 0.55rem;
	padding: 0;
}

.modal-cart .toboo-cart-shipping__method:last-child {
	margin-bottom: 0;
}

.modal-cart .toboo-cart-shipping__check {
	margin: 0;
	min-height: 0;
	padding: 0;
	border: 0;
	background: transparent;
	border-radius: 0;
	font-size: 0.875rem;
	gap: 0.5rem;
	align-items: flex-start;
	color: inherit;
}

.modal-cart .toboo-cart-shipping__check:hover {
	border-color: transparent;
}

.modal-cart .toboo-cart-shipping__label {
	display: block;
	line-height: 1.35;
	font-weight: 400;
}

.modal-cart .toboo-cart-shipping__check .toboo-cart-free-shipping {
	color: inherit;
	font-weight: inherit;
}

.modal-cart .toboo-cart-free-shipping {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	color: var(--toboo-green-text, var(--wp--preset--color--green-text, #586b08));
	font-weight: 500;
}

.modal-cart .toboo-cart-free-shipping__icon {
	display: inline-flex;
	flex: 0 0 auto;
	width: 1.1em;
	height: 1.1em;
	line-height: 0;
	color: inherit;
}

.modal-cart .toboo-cart-free-shipping__icon svg {
	display: block;
	width: 1.1em;
	height: 1.1em;
	fill: currentColor;
}

.modal-cart .toboo-cart-free-shipping__icon.fas,
.modal-cart .toboo-cart-free-shipping__icon {
	width: auto;
	height: auto;
	font-size: 1em;
}

.modal-cart .toboo-cart-summary__row--shipping .toboo-cart-free-shipping {
	font-size: inherit;
}

/* Compact collapsible coupon in cart summary */
.modal-cart #apply-coupon.toboo-cart-coupon--compact,
.modal-cart .toboo-cart-coupon--compact {
	margin: 0 0 0.85rem;
	border: 0;
	border-radius: 0;
	background: transparent;
	overflow: visible;
	color: inherit;
}

.modal-cart .toboo-cart-coupon--compact .toboo-cart-coupon__toggle {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	color: var(--tw-color-dark, #141416);
	font: inherit;
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.3;
	cursor: pointer;
	text-decoration: underline;
	text-underline-offset: 0.12em;
}

.modal-cart .toboo-cart-coupon--compact .toboo-cart-coupon__toggle:hover,
.modal-cart .toboo-cart-coupon--compact .toboo-cart-coupon__toggle:focus-visible {
	color: var(--toboo-green-text, var(--wp--preset--color--green-text, #586b08));
}

.modal-cart .toboo-cart-coupon--compact .toboo-cart-coupon__toggle-icon,
.modal-cart .toboo-cart-coupon--compact .toboo-cart-coupon__toggle-icon.icon-svg,
.modal-cart .toboo-cart-coupon--compact .toboo-cart-coupon__toggle-icon svg {
	display: block;
	width: 1em;
	height: 1em;
	flex: 0 0 auto;
	fill: currentColor;
}

.modal-cart .toboo-cart-coupon--compact .toboo-cart-coupon__collapse {
	margin-top: 0.55rem;
}

.modal-cart .toboo-cart-coupon--compact .toboo-cart-coupon__body {
	padding: 0.75rem 0.85rem;
	border-radius: var(--tw-radius);
	background: var(--tw-light, #e9edf0);
}

.modal-cart .toboo-cart-summary__label {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 0.35rem 0.55rem;
}

.modal-cart .toboo-cart-summary__shipping-edit {
	display: inline-flex;
	align-items: center;
	gap: 0.3rem;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	color: var(--tw-secondary, #1e1e21);
	font: inherit;
	font-size: 0.8rem;
	font-weight: 500;
	line-height: 1.2;
	text-decoration: underline;
	text-underline-offset: 0.12em;
	cursor: pointer;
}

.modal-cart .toboo-cart-summary__shipping-edit:hover,
.modal-cart .toboo-cart-summary__shipping-edit:focus-visible {
	color: var(--toboo-green-text, var(--wp--preset--color--green-text, #586b08));
}

.modal-cart .toboo-cart-summary__shipping-edit-icon,
.modal-cart .toboo-cart-summary__shipping-edit-icon.icon-svg,
.modal-cart .toboo-cart-summary__shipping-edit-icon svg {
	display: block;
	width: 0.9em;
	height: 0.9em;
	flex: 0 0 auto;
	fill: currentColor;
}

.modal-cart .toboo-cart-shipping-edit {
	margin: 0 0 0.75rem;
	overflow-anchor: none;
}

.modal-cart .toboo-cart-shipping--edit {
	margin: 0;
}

.modal-cart .toboo-cart-shipping--edit .toboo-cart-panel__inner {
	padding: 0.75rem 0.85rem;
}


/* Coupon panel (same frame as shipping / FAQ) */
.modal-cart .toboo-cart-coupon__help {
	margin: 0 0 0.55rem;
	font-size: 0.8rem;
	line-height: 1.35;
	opacity: 0.85;
}

.modal-cart .toboo-cart-coupon__field {
	--toboo-coupon-apply-bg: var(--wp--preset--color--hell, #b5d91f);
	--toboo-coupon-apply-border: color-mix(in srgb, var(--toboo-coupon-apply-bg) 72%, #000);
	display: flex;
	align-items: stretch;
	gap: 0;
	overflow: hidden;
	border: 2px solid var(--tw-cyan, #c4cbd6);
	border-radius: var(--tw-radius-lg);
	background: #fff;
}

.modal-cart .toboo-cart-coupon__field:focus-within {
	border-color: var(--toboo-green-text, #586b08);
	box-shadow: 0 0 0 0.25rem rgba(146, 181, 17, 0.25);
}

.modal-cart #apply-coupon #coupon_code,
.modal-cart .toboo-cart-coupon__input {
	flex: 1 1 auto;
	min-width: 0;
	width: auto;
	min-height: 2.75rem;
	padding: 0.55rem 0.75rem;
	border: 0;
	border-radius: calc(var(--tw-radius-lg) - 2px) 0 0 calc(var(--tw-radius-lg) - 2px);
	background: transparent;
	color: var(--toboo-cart-panel-fg, #141416);
	font-family: inherit;
	font-size: 0.9375rem;
	line-height: 1.3;
	box-shadow: none;
}

.modal-cart #apply-coupon #coupon_code::placeholder,
.modal-cart .toboo-cart-coupon__input::placeholder {
	color: color-mix(in srgb, var(--toboo-cart-panel-fg, #141416) 45%, transparent);
}

.modal-cart #apply-coupon #coupon_code:focus,
.modal-cart .toboo-cart-coupon__input:focus {
	outline: 0;
	border: 0;
	box-shadow: none;
}

.modal-cart #apply-coupon .apply-coupon,
.modal-cart .toboo-cart-coupon__apply {
	--toboo-btn-bg: var(--toboo-coupon-apply-bg);
	--toboo-btn-fg: var(--wp--preset--color--dunkel, #0d1101);
	--toboo-btn-edge: var(--toboo-coupon-apply-border);
	position: relative;
	z-index: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	align-self: stretch;
	flex: 0 0 auto;
	width: calc(2.75rem + 2px);
	min-width: calc(2.75rem + 2px);
	min-height: 0;
	height: auto;
	margin: -2px -2px -2px 0;
	padding: 0;
	border: 0;
	border-left: 2px solid var(--toboo-btn-edge);
	border-bottom: 2px solid var(--toboo-btn-edge);
	border-right: 2px solid var(--toboo-btn-edge);
	border-radius: 0 var(--tw-radius-lg) var(--tw-radius-lg) 0;
	background: var(--toboo-btn-bg);
	color: var(--toboo-btn-fg);
	text-decoration: none;
	cursor: pointer;
	line-height: 1;
	box-sizing: border-box;
	transform-origin: center center;
}

.modal-cart #apply-coupon .apply-coupon:hover,
.modal-cart #apply-coupon .apply-coupon:focus-visible,
.modal-cart .toboo-cart-coupon__apply:hover,
.modal-cart .toboo-cart-coupon__apply:focus-visible {
	z-index: 2;
}

.modal-cart .toboo-cart-coupon__field:focus-within .toboo-cart-coupon__apply,
.modal-cart .toboo-cart-coupon__field:focus-within #apply-coupon .apply-coupon {
	--toboo-btn-edge: color-mix(in srgb, var(--toboo-coupon-apply-bg) 58%, #000);
	border-left-color: var(--toboo-btn-edge);
	border-right-color: var(--toboo-btn-edge);
	border-bottom-color: var(--toboo-btn-edge);
}

.modal-cart .toboo-cart-coupon__apply-icon,
.modal-cart .toboo-cart-coupon__apply .icon-svg,
.modal-cart .toboo-cart-coupon__apply .icon-svg svg,
.modal-cart #apply-coupon .apply-coupon .icon-svg,
.modal-cart #apply-coupon .apply-coupon .icon-svg svg {
	display: block;
	width: 1.15rem;
	height: 1.15rem;
	flex: 0 0 1.15rem;
	color: var(--wp--preset--color--dunkel, #0d1101);
	fill: currentColor;
}

.modal-cart .toboo-cart-coupon__apply-icon svg,
.modal-cart .toboo-cart-coupon__apply svg {
	width: 100%;
	height: 100%;
}

.modal-cart .toboo-cart-coupon__applied {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
}

.modal-cart .toboo-cart-coupon__value {
	margin: 0;
	font-size: 1.5rem;
	font-weight: 600;
	line-height: 1.15;
	color: var(--toboo-green-text, var(--wp--preset--color--green-text, #586b08));
}

.modal-cart .toboo-cart-coupon__value-label {
	display: block;
	margin-top: 0.15rem;
	font-size: 0.7rem;
	font-weight: 200;
	color: var(--toboo-cart-panel-fg, #141416);
	opacity: 0.75;
}

.modal-cart .toboo-cart-coupon__code-line {
	margin: 0;
	font-size: 0.875rem;
}

.modal-cart .toboo-cart-coupon__code-label {
	font-weight: 500;
}

.modal-cart #apply-coupon .applied-coupon,
.modal-cart .toboo-cart-coupon__code {
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
	color: var(--toboo-green-text, var(--wp--preset--color--green-text, #586b08));
	font-weight: 500;
}

.modal-cart .toboo-cart-coupon__hints {
	font-size: 0.7rem;
	line-height: 1.35;
	opacity: 0.85;
}

.modal-cart #apply-coupon .clear-coupon,
.modal-cart .toboo-cart-coupon__clear {
	display: inline-block;
	margin-top: 0.15rem;
	cursor: pointer;
	color: var(--wp--preset--color--danger, #ff3c17);
	font-size: 0.8rem;
	text-decoration: none;
}

.modal-cart #apply-coupon .coupon-message:empty,
.modal-cart .toboo-cart-coupon__message:empty {
	display: none;
}

.modal-cart .toboo-cart-coupon__message {
	margin-top: 0.45rem;
	font-size: 0.75rem;
	font-weight: 500;
}

.modal-cart .toboo-cart-coupon__message .toboo-cart-notice,
.modal-cart .toboo-cart-coupon__message .toboo-cart-summary__text--discount {
	margin: 0;
}

.select2-container--default .select2-selection{height:3.5rem;background:#fff;border:2px solid var(--tw-cyan,#c4cbd6);border-radius:var(--tw-radius-card,2.5rem);corner-shape:squircle;transition:border-color .15s ease}.select2-container--default .select2-selection:hover{border-color:var(--tw-secondary,#1e1e21)}.select2-container--default .select2-selection .select2-selection__arrow,.select2-container--default .select2-selection .select2-selection__rendered{height:3.5rem;line-height:3.5rem;font-size:1.05rem;padding-left:.9rem}.select2-container--default.select2-container--focus .select2-selection,.select2-container--default.select2-container--open .select2-selection{border-color:var(--toboo-green-text,#586b08);box-shadow:0 0 0 .25rem rgba(146,181,17,.25)}.select2-dropdown{background:#fff;border:0;border-radius:var(--tw-radius-card,2.5rem);corner-shape:squircle;box-shadow:0 10px 10px -6px rgba(0,0,0,.3)}.woocommerce-notices-wrapper{display:none}.woocommerce-error{color:#ff3c17}

/* ——— Checkout (Bootstrap-free / Gutenberg language) ——— */

/*
 * Accordion-style open/close (same 0fr→1fr grid pattern as twtheme `_accordion.scss`).
 */
.toboo-collapse {
	--tw-accordion-panel-duration: 0.3s;
	--tw-accordion-panel-easing: cubic-bezier(0.4, 0, 0.2, 1);
	/* !important: wins over `.is-layout-flex` on checkout action wrappers. */
	display: grid !important;
	grid-template-rows: 0fr;
	min-height: 0;
}

.toboo-collapse.is-open {
	grid-template-rows: 1fr;
}

@media (prefers-reduced-motion: no-preference) {
	.toboo-collapse {
		transition: grid-template-rows var(--tw-accordion-panel-duration)
			var(--tw-accordion-panel-easing);
	}
}

.toboo-collapse > .toboo-collapse__inner {
	overflow: hidden;
	min-height: 0;
	width: 100%;
}

/* Logged-in checkout: keep collapsed address forms hidden even before JS runs. */
.toboo-checkout-body .billing-address ~ #billing-fields.toboo-collapse:not(.is-open),
.toboo-checkout-body #shipping-fields.toboo-collapse:not(.is-open) {
	overflow: hidden;
}

/*
 * Open address field panels: don’t clip focus ring / box-shadow blur
 * (logged-in checkout edit mode uses .toboo-collapse on these roots).
 */
.toboo-checkout-body #page-1,
.toboo-checkout-body .woocommerce-billing-fields,
.toboo-checkout-body .woocommerce-shipping-fields,
.toboo-checkout-body #billing-fields.toboo-collapse.is-open,
.toboo-checkout-body #shipping-fields.toboo-collapse.is-open,
.toboo-checkout-body #twtheme_shipping_address.toboo-collapse.is-open,
.toboo-checkout-body .edit-billing-fields.toboo-collapse.is-open,
.toboo-checkout-body .edit-shipping-fields.toboo-collapse.is-open,
.toboo-account-page-shell #billing-fields.toboo-collapse.is-open,
.toboo-account-page-shell #shipping-fields.toboo-collapse.is-open,
.toboo-checkout-body #billing-fields.toboo-collapse.is-open > .toboo-collapse__inner,
.toboo-checkout-body #shipping-fields.toboo-collapse.is-open > .toboo-collapse__inner,
.toboo-checkout-body #twtheme_shipping_address.toboo-collapse.is-open > .toboo-collapse__inner,
.toboo-checkout-body .edit-billing-fields.toboo-collapse.is-open > .toboo-collapse__inner,
.toboo-checkout-body .edit-shipping-fields.toboo-collapse.is-open > .toboo-collapse__inner,
.toboo-account-page-shell #billing-fields.toboo-collapse.is-open > .toboo-collapse__inner,
.toboo-account-page-shell #shipping-fields.toboo-collapse.is-open > .toboo-collapse__inner,
.toboo-checkout-body .woocommerce-shipping-fields,
.toboo-checkout-body .woocommerce-shipping-fields__field-wrapper,
.toboo-checkout-body #twtheme_shipping_address.toboo-collapse.is-open,
.toboo-checkout-body #shipping-fields.toboo-collapse.is-open,
.toboo-checkout-body #shipping-fields .woocommerce-shipping-fields__field-wrapper {
	overflow: visible;
}

/*
 * Sections toggled via data-toboo-hide-when (Weiter-Button etc.):
 * no accordion animation — avoids page jump when shipping fields close.
 */
.toboo-collapse[data-toboo-hide-when] {
	transition: none !important;
	overflow-anchor: none;
}

.toboo-collapse[data-toboo-hide-when]:not(.is-open) {
	display: none !important;
}

#twtheme_shipping_address,
#shipping-fields,
#billing-fields {
	overflow-anchor: none;
}

.toboo-visually-hidden {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

html:has(body.toboo-checkout-body),
.toboo-checkout-body {
	/* Light shell color on body so footer (uses --toboo-body-bg) matches checkout. */
	--toboo-body-bg: var(--tw-light, #e9edf0);
	background: var(--toboo-body-bg);
	min-height: 100%;
}

.toboo-checkout-body {
	color: var(--tw-secondary, #1e1e21);
	min-height: 100vh;
	min-height: 100dvh;
}

.toboo-checkout-body .toboo-footer {
	color: color-mix(in srgb, var(--tw-secondary, #1e1e21) 55%, transparent);
}

.toboo-checkout-body .toboo-footer .navbar-nav .nav-link:hover,
.toboo-checkout-body .toboo-footer .navbar-nav .nav-link:focus-visible,
.toboo-checkout-body .toboo-footer a.nav-link:hover,
.toboo-checkout-body .toboo-footer a.nav-link:focus-visible,
.toboo-checkout-body .toboo-footer a:hover,
.toboo-checkout-body .toboo-footer a:focus-visible {
	color: var(--tw-secondary, #1e1e21);
}

body.admin-bar.toboo-checkout-body {
	min-height: calc(100vh - 32px);
	min-height: calc(100dvh - 32px);
}

@media screen and (max-width: 782px) {
	body.admin-bar.toboo-checkout-body {
		min-height: calc(100vh - 46px);
		min-height: calc(100dvh - 46px);
	}
}

.toboo-checkout-topbar {
	display: flex;
	justify-content: center;
	align-items: center;
	/* Air between centered logo and progress / auth card. */
	margin: 0 0 clamp(3rem, 6vw, 4.25rem);
}

.toboo-checkout-topbar__logo {
	display: inline-flex;
	align-items: center;
}

.toboo-checkout-topbar__logo #logo,
.toboo-checkout-topbar__logo svg {
	height: 50px;
}

.toboo-checkout-topbar__logo #logo *,
.toboo-checkout-topbar__logo svg * {
	fill: #1e1e21 !important;
}

.toboo-checkout-shell {
	--toboo-checkout-content-bg: var(--tw-light, #e9edf0);
	margin: 0;
	border-radius: 0;
	position: relative;
	width: 100%;
	background: var(--toboo-checkout-content-bg);
	color: var(--tw-secondary, #1e1e21);
}

.toboo-checkout-shell__inner {
	width: 100%;
	max-width: 600px;
	margin: 0 auto;
	padding: clamp(2.5rem, 5vw, 3.5rem) 1rem 2rem;
}

.woocommerce-checkout h3 {
	font-size: 1.4rem;
	margin-bottom: 1rem;
}

.woocommerce-checkout h4 {
	padding-bottom: 1rem;
	margin-bottom: 0.5rem;
}

/* Checkout steps — same chrome as Mein Konto tabs (.toboo-account-nav). */
.checkout-progress {
	display: flex;
	flex-wrap: nowrap;
	align-items: stretch;
	gap: 0.25rem;
	position: relative;
	margin: 0 0 1.5rem;
	padding: 0.25rem;
	border: 0;
	border-radius: var(--tw-radius-card, 2.5rem);
	corner-shape: squircle;
	background: #fff;
	box-sizing: border-box;
}

.checkout-progress::after {
	display: none;
}

.checkout-progress .progress-unit {
	flex: 1 1 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.4rem;
	min-height: 2.75rem;
	min-width: 0;
	padding: 0.55rem 0.65rem;
	border: 0;
	border-radius: var(--tw-radius-card, 2.5rem);
	corner-shape: squircle;
	background: transparent;
	color: var(--tw-secondary, #1e1e21);
	font-size: 0.9rem;
	font-weight: 600;
	line-height: 1.25;
	text-align: center;
	text-decoration: none;
	white-space: nowrap;
	box-sizing: border-box;
	cursor: default;
	transition: background-color 0.15s ease, color 0.15s ease;
}

.checkout-progress .progress-unit.pager {
	cursor: pointer;
}

.checkout-progress .progress-unit.pager:hover {
	background: color-mix(in srgb, var(--tw-secondary, #1e1e21) 8%, #fff);
}

.checkout-progress .number {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.35rem;
	height: 1.35rem;
	border-radius: 999px;
	background: color-mix(in srgb, var(--tw-secondary, #1e1e21) 10%, #fff);
	color: inherit;
	font-size: 0.8rem;
	font-weight: 650;
	line-height: 1;
	flex: 0 0 auto;
}

.checkout-progress .progress-unit__index {
	display: inline-block;
}

.checkout-progress .progress-unit__check {
	display: none;
	width: 0.85rem;
	height: 0.85rem;
	line-height: 0;
}

.checkout-progress .progress-unit__check svg,
.checkout-progress .progress-unit__check .icon-svg {
	display: block;
	width: 100%;
	height: 100%;
}

.checkout-progress .progress-unit.active {
	background: var(--tw-secondary, #1e1e21);
	color: #fff;
}

.checkout-progress .progress-unit.active .number {
	background: color-mix(in srgb, #fff 18%, transparent);
	color: #fff;
}

.checkout-progress .progress-unit.done {
	color: var(--tw-secondary, #1e1e21);
}

.checkout-progress .progress-unit.done .number {
	background: var(--wp--preset--color--primary, #849e14);
	color: #fff;
}

.checkout-progress .progress-unit.done .progress-unit__index {
	display: none;
}

.checkout-progress .progress-unit.done .progress-unit__check {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #fff;
}

.checkout-progress .progress-unit__label {
	display: none;
	overflow: hidden;
	text-overflow: ellipsis;
}

@media (min-width: 480px) {
	.checkout-progress .progress-unit__label {
		display: inline-block;
	}
}

.toboo-checkout-actions {
	margin-top: 1.5rem;
}

.toboo-checkout-body .form-row,
.toboo-account .form-row,
.toboo-account-page-shell .form-row,
.toboo-account-form .form-row {
	position: relative;
	margin-bottom: 1rem;
}

/*
 * Name fields side-by-side; wide rows (company etc.) always clear below.
 * Without clear, Firmenname can paint over Vorname when WC layout CSS is absent.
 */
.toboo-checkout-body .edit-billing-fields:not(#billing-fields),
.toboo-checkout-body .edit-shipping-fields:not(#shipping-fields),
.toboo-checkout-body #billing-fields.toboo-collapse.is-open > .toboo-collapse__inner,
.toboo-checkout-body #billing-fields:not(.toboo-collapse),
.toboo-checkout-body #shipping-fields.toboo-collapse.is-open > .toboo-collapse__inner,
.toboo-checkout-body #shipping-fields:not(.toboo-collapse),
.toboo-account-form .woocommerce-address-fields__field-wrapper,
.toboo-account-address-form .woocommerce-address-fields__field-wrapper {
	display: flow-root;
}

.toboo-checkout-body .form-row-first,
.toboo-checkout-body .form-row-last {
	float: none;
	width: 100%;
}

@media (min-width: 600px) {
	.toboo-checkout-body .form-row-first,
	.toboo-checkout-body .form-row-last {
		width: calc(50% - 0.5rem);
	}

	.toboo-checkout-body .form-row-first {
		float: left;
	}

	.toboo-checkout-body .form-row-last {
		float: right;
	}

	.toboo-checkout-body .form-row-wide {
		clear: both;
		width: 100%;
	}
}

.toboo-checkout-body .toboo-label,
.toboo-account .toboo-label,
.toboo-account-page-shell .toboo-label,
.toboo-account-form .toboo-label {
	font-size: 0.8rem;
	position: absolute;
	top: 8px;
	left: 14px;
	font-weight: 500;
	z-index: 1;
	color: var(--tw-secondary, #1e1e21);
}

.toboo-checkout-body .toboo-field,
.toboo-checkout-body .toboo-field--select,
.toboo-checkout-body textarea.toboo-field,
.toboo-account .toboo-field,
.toboo-account .toboo-field--select,
.toboo-account textarea.toboo-field,
.toboo-account-page-shell .toboo-field,
.toboo-account-page-shell .toboo-field--select,
.toboo-account-page-shell textarea.toboo-field,
.toboo-account-form .toboo-field,
.toboo-account-form .toboo-field--select,
.toboo-account-form textarea.toboo-field {
	display: block;
	width: 100%;
	min-height: 3.5rem;
	padding: 1.55rem 0.9rem 0.5rem;
	border: 2px solid var(--tw-cyan, #c4cbd6);
	border-radius: var(--tw-radius-card, 2.5rem);
	corner-shape: squircle;
	background: #fff;
	font: inherit;
	font-size: 1.05rem;
	/* Don't inherit page/shell text color (account shell is white-on-dark). */
	color: var(--tw-secondary, #1e1e21);
	-webkit-text-fill-color: var(--tw-secondary, #1e1e21);
	caret-color: var(--tw-secondary, #1e1e21);
	appearance: none;
	transition: border-color 0.15s ease;
}

.toboo-checkout-body .toboo-field::placeholder,
.toboo-account-page-shell .toboo-field::placeholder,
.toboo-account-form .toboo-field::placeholder {
	color: color-mix(in srgb, var(--tw-secondary, #1e1e21) 45%, transparent);
	-webkit-text-fill-color: color-mix(in srgb, var(--tw-secondary, #1e1e21) 45%, transparent);
	opacity: 1;
}

.toboo-checkout-body .select2-container--default .select2-selection__rendered,
.toboo-account-page-shell .select2-container--default .select2-selection__rendered,
.toboo-account-form .select2-container--default .select2-selection__rendered {
	color: var(--tw-secondary, #1e1e21);
}

.toboo-checkout-body .toboo-field:hover,
.toboo-checkout-body .toboo-field--select:hover,
.toboo-checkout-body textarea.toboo-field:hover,
.toboo-account .toboo-field:hover,
.toboo-account .toboo-field--select:hover,
.toboo-account textarea.toboo-field:hover,
.toboo-account-page-shell .toboo-field:hover,
.toboo-account-page-shell .toboo-field--select:hover,
.toboo-account-page-shell textarea.toboo-field:hover,
.toboo-account-form .toboo-field:hover,
.toboo-account-form .toboo-field--select:hover,
.toboo-account-form textarea.toboo-field:hover {
	border-color: var(--tw-secondary, #1e1e21);
}

.toboo-checkout-body .toboo-field:focus,
.toboo-checkout-body .toboo-field--select:focus,
.toboo-checkout-body textarea.toboo-field:focus,
.toboo-account .toboo-field:focus,
.toboo-account .toboo-field--select:focus,
.toboo-account textarea.toboo-field:focus,
.toboo-account-page-shell .toboo-field:focus,
.toboo-account-page-shell .toboo-field--select:focus,
.toboo-account-page-shell textarea.toboo-field:focus,
.toboo-account-form .toboo-field:focus,
.toboo-account-form .toboo-field--select:focus,
.toboo-account-form textarea.toboo-field:focus {
	outline: 0;
	border-color: var(--toboo-green-text, #586b08);
	background: #fff;
	box-shadow: 0 0 0 0.25rem rgba(146, 181, 17, 0.25);
}

.toboo-checkout-body .toboo-field.field-error,
.toboo-checkout-body .toboo-field--select.field-error,
.toboo-checkout-body textarea.toboo-field.field-error,
.toboo-checkout-body .form-row.woocommerce-invalid .toboo-field,
.toboo-checkout-body .form-row.woocommerce-invalid .toboo-field--select,
.toboo-checkout-body .form-row.woocommerce-invalid textarea.toboo-field,
.toboo-account .toboo-field.field-error,
.toboo-account .toboo-field--select.field-error,
.toboo-account textarea.toboo-field.field-error,
.toboo-account .form-row.woocommerce-invalid .toboo-field,
.toboo-account .form-row.woocommerce-invalid .toboo-field--select,
.toboo-account .form-row.woocommerce-invalid textarea.toboo-field,
.toboo-account-page-shell .toboo-field.field-error,
.toboo-account-page-shell .form-row.woocommerce-invalid .toboo-field,
.toboo-account-form .toboo-field.field-error,
.toboo-account-form .form-row.woocommerce-invalid .toboo-field {
	border-color: var(--tw-danger, #ff3c17);
	box-shadow: 0 0 0 0.25rem rgba(255, 60, 23, 0.22);
}

.toboo-checkout-body .toboo-field.field-error:focus,
.toboo-checkout-body .toboo-field.field-error:focus-visible,
.toboo-checkout-body .toboo-field--select.field-error:focus,
.toboo-checkout-body .toboo-field--select.field-error:focus-visible,
.toboo-checkout-body textarea.toboo-field.field-error:focus,
.toboo-checkout-body textarea.toboo-field.field-error:focus-visible,
.toboo-account .toboo-field.field-error:focus,
.toboo-account .toboo-field.field-error:focus-visible,
.toboo-account .toboo-field--select.field-error:focus,
.toboo-account .toboo-field--select.field-error:focus-visible,
.toboo-account textarea.toboo-field.field-error:focus,
.toboo-account textarea.toboo-field.field-error:focus-visible,
.toboo-account-page-shell .toboo-field.field-error:focus,
.toboo-account-page-shell .toboo-field.field-error:focus-visible,
.toboo-account-form .toboo-field.field-error:focus,
.toboo-account-form .toboo-field.field-error:focus-visible {
	border-color: var(--tw-danger, #ff3c17);
	box-shadow: 0 0 0 0.25rem rgba(255, 60, 23, 0.32);
}

.toboo-checkout-body .select2-container--default.field-error .select2-selection,
.toboo-checkout-body .form-row.woocommerce-invalid .select2-selection,
.toboo-account .select2-container--default.field-error .select2-selection,
.toboo-account .form-row.woocommerce-invalid .select2-selection,
.toboo-account-page-shell .select2-container--default.field-error .select2-selection,
.toboo-account-page-shell .form-row.woocommerce-invalid .select2-selection,
.toboo-account-form .select2-container--default.field-error .select2-selection,
.toboo-account-form .form-row.woocommerce-invalid .select2-selection {
	border-color: var(--tw-danger, #ff3c17);
}

/* Shipping preview mirrors billing summary panel. */
.shipping-address[data-toboo-shipping-preview],
.woocommerce-shipping-fields .shipping-address {
	width: 100%;
	margin: 0 0 1rem;
}

.woocommerce-shipping-fields .shipping-address .toboo-address-summary {
	margin: 0;
}

.toboo-shipping-address-modal.tw-content-modal--sm .tw-content-modal__panel {
	max-width: 28rem;
	color: var(--tw-secondary, #1e1e21);
}

.toboo-shipping-address-modal .tw-content-modal__header,
.toboo-shipping-address-modal .tw-content-modal__title,
.toboo-shipping-address-modal .tw-content-modal__close {
	color: var(--tw-secondary, #1e1e21);
}

.toboo-shipping-address-modal__body {
	padding: 0.25rem 0 0.5rem;
}

.toboo-shipping-address-picker {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

/* Light modal: override dark PDP .toboo-product-addon chrome (white text / white hover). */
.toboo-shipping-address-modal .toboo-product-addon,
.toboo-shipping-address-modal .toboo-product-addon.addon-wrapper {
	appearance: none;
	margin: 0;
	font: inherit;
	text-align: left;
	color: var(--tw-secondary, #1e1e21) !important;
	background: color-mix(in srgb, var(--tw-secondary, #1e1e21) 5%, #fff) !important;
	cursor: pointer;
	transition: background-color 0.15s ease;
}

.toboo-shipping-address-modal .toboo-product-addon__body,
.toboo-shipping-address-modal .toboo-product-addon__content,
.toboo-shipping-address-modal .toboo-product-addon__main,
.toboo-shipping-address-modal .toboo-product-addon__title,
.toboo-shipping-address-modal .toboo-product-addon__name,
.toboo-shipping-address-modal .toboo-shipping-address-picker__summary {
	color: var(--tw-secondary, #1e1e21) !important;
}

.toboo-shipping-address-modal .toboo-product-addon:hover:not(.checked):not(.is-active),
.toboo-shipping-address-modal .toboo-product-addon.addon-wrapper:hover:not(.checked):not(.is-active),
.toboo-shipping-address-modal .toboo-product-addon:focus-visible:not(.checked):not(.is-active) {
	background: color-mix(in srgb, var(--tw-secondary, #1e1e21) 9%, #fff) !important;
	color: var(--tw-secondary, #1e1e21) !important;
	outline: 0;
}

.toboo-shipping-address-modal .toboo-product-addon.checked,
.toboo-shipping-address-modal .toboo-product-addon.is-active,
.toboo-shipping-address-modal .toboo-product-addon.addon-wrapper.checked,
.toboo-shipping-address-modal .toboo-product-addon.addon-wrapper.is-active {
	background: color-mix(
		in srgb,
		var(--toboo-selection-accent, var(--wp--preset--color--hell, #b5d91f)) 14%,
		#fff
	) !important;
	color: var(--tw-secondary, #1e1e21) !important;
}

.toboo-shipping-address-modal .toboo-product-addon__toggle,
.toboo-shipping-address-modal .toboo-product-addon .add-addon {
	background: rgba(0, 0, 0, 0.05) !important;
	color: var(--tw-secondary, #1e1e21) !important;
}

.toboo-shipping-address-modal .toboo-product-addon:hover:not(.checked):not(.is-active) .toboo-product-addon__toggle,
.toboo-shipping-address-modal .toboo-product-addon:hover:not(.checked):not(.is-active) .add-addon {
	background: rgba(0, 0, 0, 0.08) !important;
}

.toboo-shipping-address-modal .toboo-product-addon__toggle .icon-svg svg,
.toboo-shipping-address-modal .toboo-product-addon__toggle .icon-svg svg * {
	fill: currentColor !important;
	color: currentColor !important;
}

.toboo-shipping-address-modal .toboo-product-addon.checked .toboo-product-addon__toggle,
.toboo-shipping-address-modal .toboo-product-addon.is-active .toboo-product-addon__toggle,
.toboo-shipping-address-modal .toboo-product-addon.checked .add-addon,
.toboo-shipping-address-modal .toboo-product-addon.is-active .add-addon {
	background: var(--toboo-selection-accent, var(--wp--preset--color--hell, #b5d91f)) !important;
	color: var(--wp--preset--color--dunkel, #0d1101) !important;
}

.toboo-shipping-address-modal .toboo-product-addon.checked .toboo-product-addon__toggle .icon-svg svg,
.toboo-shipping-address-modal .toboo-product-addon.checked .toboo-product-addon__toggle .icon-svg svg *,
.toboo-shipping-address-modal .toboo-product-addon.is-active .toboo-product-addon__toggle .icon-svg svg,
.toboo-shipping-address-modal .toboo-product-addon.is-active .toboo-product-addon__toggle .icon-svg svg * {
	fill: currentColor !important;
	color: currentColor !important;
}

/* Legacy picker rules (kept for specificity fallback). */
.toboo-shipping-address-picker .toboo-product-addon {
	appearance: none;
	margin: 0;
	font: inherit;
	text-align: left;
	color: var(--tw-secondary, #1e1e21);
	background: color-mix(in srgb, var(--tw-secondary, #1e1e21) 5%, #fff);
	cursor: pointer;
}

.toboo-shipping-address-picker .toboo-product-addon:hover:not(.checked),
.toboo-shipping-address-picker .toboo-product-addon:focus-visible:not(.checked) {
	background: color-mix(in srgb, var(--tw-secondary, #1e1e21) 9%, #fff);
	outline: 0;
}

.toboo-shipping-address-picker .toboo-product-addon.checked,
.toboo-shipping-address-picker .toboo-product-addon.is-active {
	background: color-mix(
		in srgb,
		var(--toboo-selection-accent, var(--wp--preset--color--hell, #b5d91f)) 14%,
		transparent
	);
}

.toboo-shipping-address-picker .toboo-product-addon__toggle {
	background: rgba(0, 0, 0, 0.05);
	color: var(--tw-secondary, #1e1e21);
}

.toboo-shipping-address-picker .toboo-product-addon__toggle .icon-svg svg,
.toboo-shipping-address-picker .toboo-product-addon__toggle .icon-svg svg * {
	fill: currentColor;
	color: currentColor;
}

.toboo-shipping-address-picker .toboo-product-addon.checked .toboo-product-addon__toggle,
.toboo-shipping-address-picker .toboo-product-addon.is-active .toboo-product-addon__toggle {
	background: var(--toboo-selection-accent, var(--wp--preset--color--hell, #b5d91f));
	color: var(--wp--preset--color--dunkel, #0d1101);
}

.toboo-shipping-address-picker .toboo-product-addon__name {
	font-size: 0.95rem;
	font-weight: 600;
	line-height: 1.3;
}

.toboo-shipping-address-picker__summary {
	display: block;
	margin-top: 0.2rem;
	font-size: 0.875rem;
	font-weight: 400;
	line-height: 1.4;
	opacity: 0.85;
}

/* Shiptastic pickup-location modal — Toboo content-modal chrome. */
.wc-stc-modal-background.toboo-pickup-location-modal__backdrop {
	display: none;
	position: fixed;
	inset: 0;
	z-index: 1299;
	background: var(--tw-modal-backdrop-color, rgba(20, 20, 22, 0.8));
	-webkit-backdrop-filter: blur(var(--tw-modal-backdrop-blur, 10px));
	backdrop-filter: blur(var(--tw-modal-backdrop-blur, 10px));
	opacity: 0;
	transition: opacity var(--tw-modal-backdrop-duration, 0.25s) ease;
}

.wc-stc-modal-background.toboo-pickup-location-modal__backdrop.active {
	display: block !important;
	opacity: 1;
}

.wc-stc-modal-content.toboo-pickup-location-modal {
	display: none;
	position: fixed;
	inset: 0;
	z-index: 1300;
	padding: clamp(1rem, 4vw, 2rem);
	overflow: hidden;
	align-items: center;
	justify-content: center;
	pointer-events: none;
	visibility: hidden;
}

.wc-stc-modal-content.toboo-pickup-location-modal.active {
	display: flex !important;
	pointer-events: auto;
	visibility: visible;
}

.toboo-pickup-location-modal .wc-stc-modal-content-inner.tw-content-modal__panel {
	width: min(100%, 36rem);
	max-width: 36rem;
	max-height: min(90dvh, 44rem);
	margin: 0;
	padding: 0;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	background: #fff;
	color: var(--tw-secondary, #1e1e21);
	border-radius: var(--tw-border-radius, 1rem);
	box-shadow: 0 12px 40px rgba(20, 20, 22, 0.18);
	transform: translateY(1rem);
	opacity: 0;
	transition:
		transform var(--tw-modal-panel-duration, 0.3s) ease,
		opacity var(--tw-modal-panel-duration, 0.3s) ease;
}

.wc-stc-modal-content.toboo-pickup-location-modal.active .wc-stc-modal-content-inner.tw-content-modal__panel {
	transform: translateY(0);
	opacity: 1;
}

.toboo-pickup-location-modal .tw-content-modal__header,
.toboo-pickup-location-modal .tw-content-modal__title,
.toboo-pickup-location-modal .tw-content-modal__close {
	color: var(--tw-secondary, #1e1e21);
}

.toboo-pickup-location-modal .wc-stc-modal-close.tw-content-modal__close {
	background-image: none;
	text-indent: 0;
	width: auto;
	height: auto;
}

.toboo-pickup-location-modal__body {
	padding: 0;
}

.toboo-pickup-location-search-fields {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 8rem);
	gap: 0.75rem 1rem;
	align-items: end;
	margin: 0 0 1.25rem;
}

.toboo-pickup-location-search-fields .form-row {
	float: none;
	width: auto;
	margin: 0;
	padding: 0;
}

.toboo-pickup-location-search-fields__submit {
	grid-column: 1 / -1;
	margin: 0;
}

.toboo-pickup-location-search-fields__submit .button {
	width: 100%;
	justify-content: center;
}

.toboo-pickup-location-modal .toboo-field,
.toboo-pickup-location-modal .toboo-field--select,
.toboo-pickup-location-modal textarea.toboo-field,
.toboo-pickup-location-modal .select2-container .select2-selection {
	color: var(--tw-secondary, #1e1e21);
}

.toboo-pickup-location-search-results {
	margin-top: 0;
}

.toboo-pickup-location-modal__footer {
	padding: 1rem 0 0;
	border-top: 1px solid rgba(20, 20, 22, 0.08);
	background: transparent;
}

.toboo-pickup-location-search-actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	align-items: center;
	gap: 0.75rem 1rem;
	margin: 0;
}

.toboo-pickup-location-remove {
	color: var(--wc-red, #b32d2e);
	font-size: 0.9rem;
	text-decoration: underline;
	text-underline-offset: 0.12em;
}

.toboo-pickup-location-remove.hidden,
.toboo-pickup-location-submit.hidden {
	display: none;
}

@media (max-width: 520px) {
	.toboo-pickup-location-search-fields {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* Legacy switch styles (unused in checkout; kept for other surfaces). */
.toboo-switch {
	display: flex;
	width: 100%;
	margin: 0 0 1.25rem;
	padding: 0.25rem;
	border: 2px solid var(--tw-cyan, #c4cbd6);
	border-radius: var(--tw-radius);
	background: #fff;
	box-sizing: border-box;
	gap: 0.25rem;
}

.toboo-switch__options {
	display: flex;
	width: 100%;
	gap: 0.25rem;
}

.toboo-switch__option {
	position: relative;
	flex: 1 1 50%;
	margin: 0;
	cursor: pointer;
}

.toboo-switch__input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.toboo-switch__label {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 2.75rem;
	padding: 0.55rem 0.75rem;
	border: 2px solid transparent;
	border-radius: var(--tw-radius-lg);
	background: transparent;
	color: var(--tw-secondary, #1e1e21);
	font-size: 0.9rem;
	font-weight: 500;
	line-height: 1.25;
	text-align: center;
	box-sizing: border-box;
	transition: border-color 0.15s ease, background-color 0.15s ease, color 0.15s ease;
}

.toboo-switch__option:hover .toboo-switch__label {
	background: transparent;
	border-color: var(--tw-secondary, #1e1e21);
}

.toboo-switch__input:checked + .toboo-switch__label {
	background: var(--tw-secondary, #1e1e21);
	border-color: var(--tw-secondary, #1e1e21);
	color: #fff;
}

.toboo-switch__option:hover .toboo-switch__input:checked + .toboo-switch__label {
	background: var(--tw-secondary, #1e1e21);
	border-color: var(--tw-secondary, #1e1e21);
}

.toboo-switch__input:focus-visible + .toboo-switch__label {
	outline: 2px solid var(--toboo-green-text, #586b08);
	outline-offset: 2px;
}

.toboo-payment-methods {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.65rem;
}

.toboo-payment-method {
	margin: 0;
}

.toboo-payment-method__option {
	position: relative;
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
	width: 100%;
	margin: 0;
	cursor: pointer;
}

.toboo-payment-method__input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.toboo-payment-method__check {
	flex: 0 0 auto;
	width: var(--toboo-check-size, 1.25rem);
	height: var(--toboo-check-size, 1.25rem);
	margin-top: 0.1rem;
	border: var(--toboo-check-border, 2px solid var(--tw-cyan, #c4cbd6));
	border-radius: var(--toboo-check-radius, var(--tw-radius-card, 2.5rem));
	corner-shape: squircle;
	background-color: var(--toboo-check-bg, #fff);
	background-image: none;
	background-repeat: no-repeat;
	background-position: center;
	background-size: 0.75rem;
	box-sizing: border-box;
	transition: border-color 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease;
}

.toboo-payment-method__label {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	flex: 1 1 auto;
	min-width: 0;
	line-height: 1.35;
	font-size: 0.9375rem;
	font-weight: 500;
}

.toboo-payment-method__title {
	min-width: 0;
}

.toboo-payment-method__icons,
.toboo-methods-info__icons {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	flex: 0 0 auto;
	line-height: 1;
	opacity: 0.92;
}

.toboo-payment-method__icon,
.toboo-methods-info__icons .toboo-payment-method__icon,
.toboo-methods-info__icons i {
	font-size: 1.35rem;
}

.toboo-payment-method__icons .icon-svg,
.toboo-methods-info__icons .icon-svg,
.toboo-payment-method__icon.icon-svg {
	display: inline-flex;
	width: 1.35rem;
	height: 1.35rem;
	font-size: 0;
	line-height: 0;
}

.toboo-payment-method__icons .icon-svg svg,
.toboo-methods-info__icons .icon-svg svg,
.toboo-payment-method__icon.icon-svg svg {
	width: 100%;
	height: 100%;
	display: block;
	fill: currentColor;
}

.toboo-payment-method__option:hover .toboo-payment-method__check {
	border-color: var(--toboo-check-fg, var(--tw-secondary, #1e1e21));
}

.toboo-payment-method__input:focus-visible + .toboo-payment-method__check {
	border-color: var(--toboo-check-fg, var(--tw-secondary, #1e1e21));
	box-shadow: 0 0 0 0.25rem rgba(30, 30, 33, 0.2);
}

.toboo-payment-method__input:checked + .toboo-payment-method__check {
	border-color: var(--toboo-check-fg, var(--tw-secondary, #1e1e21));
	background-color: var(--toboo-check-fg, var(--tw-secondary, #1e1e21));
	background-image: var(--toboo-check-icon);
}

.toboo-payment-method__option--readonly {
	cursor: default;
}

.toboo-payment-method__check.is-checked {
	border-color: var(--toboo-check-fg, var(--tw-secondary, #1e1e21));
	background-color: var(--toboo-check-fg, var(--tw-secondary, #1e1e21));
	background-image: var(--toboo-check-icon);
}

.toboo-payment-method__box--readonly {
	display: block;
}

.toboo-payment-method__box {
	margin-top: 0.65rem;
	font-size: 0.875rem;
}

.toboo-panel p:last-child,
.toboo-panel__inner p:last-child,
.toboo-payment-method__box p:last-child {
	margin-bottom: 0;
}

.toboo-checkout-notice,
.woocommerce-checkout .toboo-panel.toboo-checkout-notice,
.woocommerce-checkout .toboo-checkout-notice .toboo-panel__inner {
	background: color-mix(in srgb, var(--wp--preset--color--primary, #849e14) 18%, #fff);
}

/* Checkout auth gate — pill tabs match Mein Konto (.toboo-account-nav). */
.toboo-checkout-auth-wrap {
	width: 100%;
}

/* Lost-password / reset in checkout shell — same white auth card as login. */
.toboo-checkout-body .toboo-account-auth {
	max-width: 600px;
	margin: 0 auto;
}

.toboo-checkout-body .toboo-account-auth .toboo-panel.toboo-checkout-auth,
.toboo-checkout-body .toboo-account-auth .toboo-panel.toboo-checkout-auth .toboo-panel__inner {
	background: #fff;
}

.toboo-checkout-body .toboo-account-auth .toboo-panel__body,
.toboo-checkout-body .toboo-account-auth .toboo-account-form__link,
.toboo-checkout-body .toboo-account-auth .toboo-account-form__link a {
	color: var(--tw-secondary, #1e1e21);
}

.toboo-checkout-auth-wrap .toboo-account-auth__tabs {
	margin: 0 0 1rem;
}

.toboo-checkout-auth-wrap .toboo-account-nav__list li {
	flex: 1 1 50%;
}

.toboo-checkout-auth-wrap .toboo-account-nav__link {
	width: 100%;
}

.toboo-checkout-auth-wrap .toboo-account-nav__list .is-active .toboo-account-nav__link,
.toboo-checkout-auth-wrap .toboo-account-nav__link[aria-selected='true'] {
	background: var(--tw-secondary, #1e1e21);
	color: #fff;
	cursor: default;
}

/* Legacy underline tabs (kept for any residual markup). */
.toboo-checkout-auth__tabs {
	display: flex;
	gap: 0;
	margin: 0 0 1rem;
	border-bottom: 1px solid color-mix(in srgb, var(--tw-secondary, #1e1e21) 12%, transparent);
}

.toboo-checkout-auth__tab {
	flex: 1 1 50%;
	padding: 0.75rem 0.5rem;
	text-align: center;
	font-weight: 500;
	color: inherit;
	text-decoration: none;
}

.toboo-checkout-auth__tab.is-active {
	box-shadow: inset 0 -2px 0 var(--tw-secondary, #1e1e21);
}

.toboo-checkout-extra-fields {
	margin-top: 1.5rem;
}

/* Checkout / account: surface WC notices (globally hidden elsewhere). */
.toboo-checkout-body .woocommerce-notices-wrapper,
.woocommerce-checkout .woocommerce-notices-wrapper,
.woocommerce-NoticeGroup-checkout .woocommerce-notices-wrapper {
	display: block;
	margin: 0 0 1rem;
}

.woocommerce-NoticeGroup-checkout {
	margin: 0 0 1rem;
	padding: 0;
	background: transparent;
	border-radius: 0;
}

.woocommerce-NoticeGroup-checkout ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

/* WooCommerce block notice banners (classic checkout validation etc.). */
.wc-block-components-notice-banner {
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
	margin: 0 0 1rem;
	padding: 0.9rem 1rem;
	border: 2px solid transparent;
	border-radius: var(--tw-radius-lg);
	box-sizing: border-box;
	color: var(--tw-secondary, #1e1e21);
	font-size: 0.9375rem;
	line-height: 1.45;
}

.wc-block-components-notice-banner > svg {
	flex: 0 0 auto;
	width: 1.35rem;
	height: 1.35rem;
	margin-top: 0.1rem;
	fill: currentColor;
}

.wc-block-components-notice-banner__content {
	flex: 1 1 auto;
	min-width: 0;
}

.wc-block-components-notice-banner__content > :first-child {
	margin-top: 0;
}

.wc-block-components-notice-banner__content > :last-child {
	margin-bottom: 0;
}

.wc-block-components-notice-banner__summary {
	margin: 0 0 0.4rem;
	font-weight: 600;
}

.wc-block-components-notice-banner__content ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 0.25rem;
}

.wc-block-components-notice-banner__content li {
	margin: 0;
}

.wc-block-components-notice-banner.is-error {
	background: #ffe7e3;
	border-color: color-mix(in srgb, var(--tw-danger, #ff3c17) 35%, #ffe7e3);
	color: var(--tw-danger, #ff3c17);
}

.wc-block-components-notice-banner.is-success {
	background: color-mix(in srgb, var(--wp--preset--color--primary, #849e14) 18%, #fff);
	border-color: color-mix(in srgb, var(--wp--preset--color--primary, #849e14) 40%, #fff);
	color: var(--toboo-green-text, #586b08);
}

.wc-block-components-notice-banner.is-info,
.wc-block-components-notice-banner.is-warning {
	background: color-mix(in srgb, var(--tw-cyan, #c4cbd6) 35%, #fff);
	border-color: color-mix(in srgb, var(--tw-cyan, #c4cbd6) 70%, #fff);
	color: var(--tw-secondary, #1e1e21);
}

/* PayPal cancel notice on checkout (Abschluss resume). */
.toboo-checkout-body .wc-block-components-notice-banner[data-notice-type="paypal-cancel"],
.woocommerce-checkout .wc-block-components-notice-banner[data-notice-type="paypal-cancel"],
.woocommerce-NoticeGroup-checkout .wc-block-components-notice-banner[data-notice-type="paypal-cancel"] {
	background: color-mix(in srgb, var(--tw-cyan, #c4cbd6) 58%, #fff);
	border-color: color-mix(in srgb, var(--tw-secondary, #1e1e21) 12%, var(--tw-cyan, #c4cbd6));
	box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--tw-cyan, #c4cbd6) 45%, transparent);
	color: var(--tw-secondary, #1e1e21);
}

/* Legacy WC notice lists still used in places. */
.woocommerce-checkout .woocommerce-error,
.woocommerce-checkout .woocommerce-message,
.woocommerce-checkout .woocommerce-info,
.toboo-checkout-body .woocommerce-error,
.toboo-checkout-body .woocommerce-message,
.toboo-checkout-body .woocommerce-info {
	list-style: none;
	margin: 0 0 1rem;
	padding: 0.9rem 1rem;
	border-radius: var(--tw-radius-lg);
	font-size: 0.9375rem;
	line-height: 1.45;
}

.woocommerce-checkout .woocommerce-error,
.toboo-checkout-body .woocommerce-error {
	background: #ffe7e3;
	color: var(--tw-danger, #ff3c17);
}

.woocommerce-checkout .woocommerce-message,
.toboo-checkout-body .woocommerce-message {
	background: color-mix(in srgb, var(--wp--preset--color--primary, #849e14) 18%, #fff);
	color: var(--toboo-green-text, #586b08);
}

.woocommerce-checkout .woocommerce-info,
.toboo-checkout-body .woocommerce-info {
	background: color-mix(in srgb, var(--tw-cyan, #c4cbd6) 35%, #fff);
}

/* Form height is managed via .toboo-checkout-pages — never let twform collapse the shell. */
#checkout_form {
	height: auto !important;
	overflow: visible !important;
	transition: none !important;
}

.toboo-checkout-pages {
	position: relative;
	/* visible so step slide/fade animations are not clipped L/R */
	overflow: visible;
	width: 100%;
	transition: height var(--animate-duration, 0.5s) ease;
}

/* Height is locked in JS during paging — no overflow clip on the viewport. */
.toboo-checkout-pages.is-paging {
	overflow: visible;
}

.toboo-checkout-pages.is-paging .twform-page {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	margin: 0;
	overflow: visible;
}

#checkout_form:has(.toboo-checkout-pages.is-paging),
.toboo-checkout-shell__inner:has(.toboo-checkout-pages.is-paging) {
	overflow: visible;
}

#checkout_form .twform-page.animate__animated {
	animation-duration: var(--animate-duration, 0.5s);
	animation-fill-mode: both;
	overflow: visible;
}

#place_order {
	width: 100%;
}

/* Step 2: no duplicate Germanized heading or PayPal promo messages. */
#page-2 #payment > #order_payment_heading,
#page-2 #payment > .ppcp-messages {
	display: none !important;
}

/* Step 3 Abschluss: always "Jetzt kaufen", never PayPal smart button. */
#page-3 .place-order .ppc-button-wrapper,
#summary .place-order .ppc-button-wrapper,
#page-3 #ppc-button-ppcp-gateway,
#summary #ppc-button-ppcp-gateway {
	display: none !important;
}

#page-3 #place_order,
#summary #place_order {
	display: inline-flex !important;
	width: 100%;
}

#page-3 #place_order.ppcp-hidden,
#summary #place_order.ppcp-hidden {
	display: inline-flex !important;
}

/* -------------------------------------------------------------------------- */
/* My Account (shop chrome — not checkout shell)                              */
/* -------------------------------------------------------------------------- */

body.toboo-account-page {
	background: #121a30;
}

.toboo-account-page-shell {
	--pagecolor: #121a30;
	position: relative;
	z-index: 2;
	/* Clear the absolute top-bar (mirrors .toboo-shop-intro). */
	padding-top: clamp(12rem, 18vw, 16rem);
	padding-bottom: 4rem;
	background: transparent;
	/* Light chrome text on dark pagecolor; panels reset to dark text. */
	color: #fff;
	overflow: visible;
	min-height: min(100vh, 56rem);
}

.toboo-account-page-shell .toboo-panel,
.toboo-account-page-shell .toboo-account-nav,
.toboo-account-page-shell .toboo-account-nav__list {
	color: var(--tw-secondary, #1e1e21);
}

.toboo-account-page-shell .toboo-label {
	color: var(--tw-secondary, #1e1e21);
}

.toboo-account-page-shell .toboo-checkout-heading,
.toboo-account-page-shell .toboo-checkout-heading-row__edit {
	color: #fff;
}

.toboo-account-page-shell .toboo-panel .toboo-checkout-heading {
	color: var(--tw-secondary, #1e1e21);
}

.toboo-account-page-shell .toboo-checkout-heading-row__edit:hover,
.toboo-account-page-shell .toboo-checkout-heading-row__edit:focus-visible {
	color: var(--wp--preset--color--primary, #849e14);
}

.toboo-account-page-shell .toboo-account-form__hint,
.toboo-account-page-shell .toboo-account-dashboard__logout,
.toboo-account-page-shell .toboo-account-dashboard__logout a,
.toboo-account-page-shell .toboo-account-form__link,
.toboo-account-page-shell .toboo-account-form__link a,
.toboo-account-page-shell .toboo-account-addresses__intro,
.toboo-account-page-shell .toboo-account-pagination__link {
	color: #fff;
}

.toboo-account-page-shell .toboo-panel .toboo-account-form__hint,
.toboo-account-page-shell .toboo-panel .toboo-account-form__link,
.toboo-account-page-shell .toboo-panel .toboo-account-form__link a {
	color: var(--tw-secondary, #1e1e21);
}

.toboo-account-page-shell > * {
	position: relative;
	z-index: 1;
}

.toboo-account-page-shell__inner {
	width: 100%;
	max-width: var(--tw-container, 1140px);
	margin: 0 auto;
	padding: 0 var(--toboo-edge-x, 4%);
	box-sizing: border-box;
}

.toboo-account,
.toboo-account-page-shell .toboo-account-auth {
	max-width: 800px;
	margin: 0 auto;
}

.toboo-account .toboo-panel,
.toboo-account .toboo-panel__inner,
.toboo-account-page-shell .toboo-panel,
.toboo-account-page-shell .toboo-panel__inner {
	background: #fff;
}

.toboo-account-nav {
	margin: 0 0 1.25rem;
}

.toboo-account-nav__list {
	display: flex;
	flex-wrap: nowrap;
	gap: 0.25rem;
	margin: 0;
	padding: 0.25rem;
	list-style: none;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	border: 0;
	border-radius: var(--tw-radius-card, 2.5rem);
	corner-shape: squircle;
	background: #fff;
	scrollbar-width: thin;
}

.toboo-account-nav__list li {
	flex: 1 1 auto;
	margin: 0;
	min-width: max-content;
}

.toboo-account-nav__link {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 2.75rem;
	padding: 0.55rem 0.85rem;
	border: 0;
	border-radius: var(--tw-radius-card, 2.5rem);
	corner-shape: squircle;
	color: var(--tw-secondary, #1e1e21);
	font-size: 0.9rem;
	font-weight: 600;
	line-height: 1.25;
	text-align: center;
	text-decoration: none;
	white-space: nowrap;
	box-sizing: border-box;
	transition: background-color 0.15s ease, color 0.15s ease;
}

.toboo-account-nav__link:hover {
	background: color-mix(in srgb, var(--tw-secondary, #1e1e21) 8%, #fff);
	color: var(--tw-secondary, #1e1e21);
}

.is-active .toboo-account-nav__link,
li.is-active .toboo-account-nav__link,
.toboo-account-nav__link[aria-current='page'] {
	background: var(--tw-secondary, #1e1e21);
	color: #fff;
}

.toboo-account-nav .woocommerce-MyAccount-navigation-link--customer-logout .toboo-account-nav__link {
	opacity: 0.85;
}

.toboo-account__heading {
	font-size: 1.4rem;
	font-weight: 600;
	line-height: 1.3;
	margin: 0 0 1rem;
}

.toboo-account-form > .toboo-checkout-heading-row:first-child {
	margin-top: 0;
}

.toboo-account-form__meta {
	margin-bottom: 1rem;
}

/* WooCommerce password reveal — FA icons via theme JS (not WC layout CSS). */
.password-input {
	display: block;
	position: relative;
	width: 100%;
}

.password-input input::-ms-reveal {
	display: none;
}

.password-input .toboo-field,
.password-input input[type='password'],
.password-input input[type='text'] {
	width: 100%;
	padding-right: 2.85rem;
	box-sizing: border-box;
}

.show-password-input {
	appearance: none;
	position: absolute;
	z-index: 2;
	right: 0.55rem;
	top: 50%;
	transform: translateY(-50%);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.1rem;
	height: 2.1rem;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: var(--tw-radius-sm, 0.25rem);
	background: transparent;
	color: var(--tw-secondary, #1e1e21);
	cursor: pointer;
	line-height: 1;
	text-decoration: none;
	-webkit-font-smoothing: antialiased;
}

.show-password-input:hover,
.show-password-input:focus-visible {
	color: var(--toboo-green-text, #586b08);
	outline: 0;
}

.show-password-input:focus-visible {
	box-shadow: 0 0 0 0.2rem rgba(146, 181, 17, 0.28);
}

/* Hide WooCommerce layout SVG ::before if that stylesheet is present. */
.show-password-input::before {
	content: none !important;
	display: none !important;
	background: none !important;
}

.show-password-input .toboo-password-toggle__icon,
.show-password-input .icon-svg,
.show-password-input svg {
	display: block;
	width: 1.15rem;
	height: 1.15rem;
	flex: 0 0 auto;
	line-height: 1;
	color: inherit;
	fill: currentColor;
}

.toboo-account-form__actions {
	margin-top: 0.5rem;
}

.toboo-account-form__actions .wp-block-buttons,
.toboo-account-form__actions .wp-block-button,
.toboo-account-form__actions .wp-block-button__link {
	width: 100%;
}

.toboo-account-form__link {
	margin: 1rem 0 0;
	text-align: center;
	font-size: 0.9375rem;
}

.toboo-account-form__link a {
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

.toboo-account-form__hint {
	display: block;
	margin: 0.35rem 0 0;
	font-size: 0.85rem;
	line-height: 1.4;
	opacity: 0.8;
}

.toboo-account-form .form-row-first,
.toboo-account-form .form-row-last {
	width: 100%;
}

@media (min-width: 600px) {
	.toboo-account-form .form-row-first,
	.toboo-account-form .form-row-last {
		width: calc(50% - 0.5rem);
		float: left;
	}

	.toboo-account-form .form-row-last {
		float: right;
	}

	.toboo-account-form .form-row-wide,
	.toboo-account-form .clear {
		clear: both;
		width: 100%;
	}
}

.toboo-account-password-fieldset {
	margin: 1.75rem 0 1rem;
	padding: 1.25rem 0 0;
	border: 0;
	border-top: 1px solid color-mix(in srgb, #fff 18%, transparent);
}

.toboo-account-password-fieldset legend.toboo-checkout-heading,
.toboo-account-password-fieldset .toboo-checkout-heading {
	float: none;
	display: flex;
	width: auto;
	max-width: 100%;
	padding: 0;
	margin: 0 0 0.85rem;
}

.toboo-checkout-auth__tab {
	appearance: none;
	background: transparent;
	border: 0;
	cursor: pointer;
	font: inherit;
}

/* Login tabs reuse account-nav pill chrome; reset button defaults. */
.toboo-account-auth__tabs {
	margin: 0 0 1.25rem;
}

.toboo-account-auth__tabs .toboo-account-nav__list {
	overflow: visible;
}

.toboo-account-auth__tabs .toboo-account-nav__link {
	appearance: none;
	width: 100%;
	background: transparent;
	cursor: pointer;
	font: inherit;
	font-weight: 600;
}

.toboo-account-auth__tabs .is-active .toboo-account-nav__link,
.toboo-account-auth__tabs .toboo-account-nav__link.is-active {
	background: var(--tw-secondary, #1e1e21);
	color: #fff;
}

.toboo-account-auth__pane[hidden] {
	display: none !important;
}

/* Anmelden content-modal — same auth UI as Mein Konto, without nested panel chrome. */
.tw-content-modal .toboo-login-modal,
.tw-content-modal .toboo-account-auth {
	max-width: none;
	margin: 0;
}

.tw-content-modal .toboo-account-auth .toboo-panel.toboo-checkout-auth {
	margin: 0;
	border: 0;
	background: transparent;
	overflow: visible;
}

.tw-content-modal .toboo-account-auth .toboo-panel__inner {
	padding: 0;
	background: transparent;
}

.tw-content-modal .toboo-account-auth__tabs {
	margin: 0 0 1.25rem;
}

.tw-content-modal .toboo-account-form .toboo-label,
.tw-content-modal .toboo-account-form__hint,
.tw-content-modal .toboo-account-form__link,
.tw-content-modal .toboo-account-form__link a {
	color: var(--tw-secondary, #1e1e21);
}

.tw-content-modal .show-password-input {
	color: var(--tw-secondary, #1e1e21);
}

.toboo-account-dashboard__links {
	display: grid;
	gap: 0.75rem;
	margin: 0 0 1rem;
}

.toboo-account-dashboard__link {
	display: block;
	text-decoration: none;
	color: inherit;
	margin-bottom: 0;
	transition: border-color 0.15s ease;
}

.toboo-account-dashboard__link:hover {
	border-color: var(--tw-secondary, #1e1e21);
}

.toboo-account-dashboard__link-title,
.toboo-account-dashboard__link-title.toboo-checkout-heading {
	display: flex;
	align-items: center;
	gap: 0.55rem;
	font-size: 1.05rem;
	font-weight: 600;
	margin: 0 0 0.25rem;
}

.toboo-account-dashboard .toboo-panel__title.toboo-checkout-heading {
	margin: 0 0 0.5rem;
}

.toboo-account-dashboard__link-text {
	display: block;
	font-size: 0.9rem;
	line-height: 1.4;
	opacity: 0.8;
}

.toboo-account-auth .toboo-checkout-heading {
	margin-top: 0;
}

.toboo-account-dashboard__logout {
	margin: 0.5rem 0 0;
	text-align: center;
	font-size: 0.9375rem;
}

.toboo-account-dashboard__logout a {
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

.toboo-account-orders {
	display: grid;
	gap: 0.75rem;
}

.toboo-account-order {
	display: block;
	margin: 0;
	text-decoration: none;
	color: inherit;
	transition: border-color 0.15s ease;
}

.toboo-account-order:hover {
	border-color: var(--tw-secondary, #1e1e21);
}

.toboo-account-order__top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	margin: 0 0 0.35rem;
}

.toboo-account-order__number {
	font-weight: 600;
	font-size: 1.05rem;
}

.toboo-account-order__status {
	font-size: 0.8rem;
	font-weight: 500;
	padding: 0.2rem 0.55rem;
	border-radius: var(--tw-radius-sm, 0.25rem);
	background: color-mix(in srgb, var(--tw-secondary, #1e1e21) 8%, #fff);
}

.toboo-account-order__status--completed,
.toboo-account-order__status--processing {
	background: color-mix(in srgb, var(--wp--preset--color--primary, #849e14) 22%, #fff);
	color: var(--toboo-green-text, #586b08);
}

.toboo-account-order__status--cancelled,
.toboo-account-order__status--failed {
	background: color-mix(in srgb, var(--tw-danger, #ff3c17) 16%, #fff);
	color: var(--tw-danger, #ff3c17);
}

.toboo-account-order__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.35rem;
	font-size: 0.9rem;
	opacity: 0.85;
}

.toboo-account-order__sep {
	opacity: 0.5;
}

.toboo-account-pagination {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	margin-top: 1rem;
}

.toboo-account-pagination__link {
	color: inherit;
	font-weight: 500;
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

.toboo-account-addresses {
	display: grid;
	gap: 1.75rem;
}

.toboo-account-addresses__intro {
	margin: 0 0 1.25rem;
	font-size: 1rem;
	line-height: 1.5;
	opacity: 0.85;
}

.toboo-account-order-notes__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 0.75rem;
}

.toboo-account-order-notes__list .meta {
	margin: 0 0 0.25rem;
	font-size: 0.8rem;
	opacity: 0.75;
}

.toboo-account-order-details .woocommerce-order-details__title,
.toboo-account-order-details .woocommerce-column__title {
	display: flex;
	align-items: center;
	gap: 0.55rem;
	font-size: 1.4rem;
	font-weight: 600;
	line-height: 1.3;
	margin: 1.25rem 0 0.75rem;
	color: #fff;
}

.toboo-account-order-details .shop_table {
	width: 100%;
	border-collapse: collapse;
	background: #fff;
	border: 2px solid var(--tw-cyan, #c4cbd6);
	border-radius: var(--tw-radius);
	overflow: hidden;
}

.toboo-account-order-details .shop_table th,
.toboo-account-order-details .shop_table td {
	padding: 0.75rem 1rem;
	border-bottom: 1px solid color-mix(in srgb, var(--tw-secondary, #1e1e21) 10%, transparent);
	text-align: left;
	vertical-align: top;
	font-size: 0.9375rem;
}

.toboo-account-order-details .shop_table tr:last-child th,
.toboo-account-order-details .shop_table tr:last-child td {
	border-bottom: 0;
}

.toboo-account-order-details .woocommerce-customer-details {
	margin-top: 1.25rem;
}

.toboo-account-order-addresses {
	display: grid;
	gap: 1.75rem;
	width: 100%;
	margin-top: 1.25rem;
}

.toboo-account-order-address {
	width: 100%;
	min-width: 0;
}

.toboo-account-order-address .toboo-panel,
.toboo-account-order-address .toboo-address-summary {
	width: 100%;
}

.toboo-account-order-address .toboo-panel__inner > .toboo-checkout-heading,
.toboo-account-order-address .toboo-panel__inner > .toboo-checkout-heading-row .toboo-checkout-heading {
	color: var(--tw-secondary, #1e1e21);
}

.toboo-account-order-addresses .toboo-panel__inner,
.toboo-account-order-addresses .toboo-address-summary__grid {
	width: 100%;
}

.toboo-account-order-details .woocommerce-columns--addresses,
.toboo-account-order-details .woocommerce-column {
	width: 100%;
	max-width: none;
	float: none;
}

.toboo-account-order-details address {
	margin: 0;
	padding: 0.85rem 1rem;
	background: #fff;
	border: 2px solid var(--tw-cyan, #c4cbd6);
	border-radius: var(--tw-radius);
	font-style: normal;
	line-height: 1.45;
}

/* Account / login notices (cart flash messages are stripped in PHP). */
.toboo-account .woocommerce-notices-wrapper,
.toboo-account-page-shell .woocommerce-notices-wrapper,
.toboo-account-page .woocommerce-notices-wrapper,
.tw-content-modal .woocommerce-notices-wrapper,
.toboo-login-modal .woocommerce-notices-wrapper,
.toboo-account-auth__notices {
	display: block;
	margin: 0 0 1rem;
}

.toboo-account .woocommerce-message,
.toboo-account .woocommerce-info,
.toboo-account .woocommerce-error,
.toboo-account-page-shell .woocommerce-message,
.toboo-account-page-shell .woocommerce-info,
.toboo-account-page-shell .woocommerce-error,
.toboo-account-page .woocommerce-message,
.toboo-account-page .woocommerce-info,
.toboo-account-page .woocommerce-error,
.tw-content-modal .woocommerce-message,
.tw-content-modal .woocommerce-info,
.tw-content-modal .woocommerce-error,
.toboo-login-modal .woocommerce-message,
.toboo-login-modal .woocommerce-info,
.toboo-login-modal .woocommerce-error {
	list-style: none;
	margin: 0 0 0.75rem;
	padding: 0.75rem 1rem;
	border-radius: var(--tw-radius-lg);
	font-size: 0.9375rem;
	line-height: 1.4;
}

.toboo-account .woocommerce-message,
.toboo-account-page-shell .woocommerce-message,
.toboo-account-page .woocommerce-message,
.tw-content-modal .woocommerce-message,
.toboo-login-modal .woocommerce-message {
	background: color-mix(in srgb, var(--wp--preset--color--primary, #849e14) 18%, #fff);
}

.toboo-account .woocommerce-info,
.toboo-account-page-shell .woocommerce-info,
.toboo-account-page .woocommerce-info,
.tw-content-modal .woocommerce-info,
.toboo-login-modal .woocommerce-info {
	background: color-mix(in srgb, var(--tw-cyan, #c4cbd6) 35%, #fff);
}

.toboo-account .woocommerce-error,
.toboo-account-page-shell .woocommerce-error,
.toboo-account-page .woocommerce-error,
.tw-content-modal .woocommerce-error,
.toboo-login-modal .woocommerce-error {
	background: #ffe7e3;
	color: var(--tw-danger, #ff3c17);
}

.toboo-account .woocommerce-error li,
.toboo-account-page-shell .woocommerce-error li,
.toboo-account-page .woocommerce-error li {
	margin: 0;
}

/* Dark account shell: keep notice banners readable on pagecolor. */
.toboo-account-page-shell .wc-block-components-notice-banner.is-error,
.toboo-account-page-shell .wc-block-components-notice-banner.is-success,
.toboo-account-page-shell .wc-block-components-notice-banner.is-info {
	/* Banner fills already set above; ensure they sit above the pattern. */
	position: relative;
	z-index: 1;
}

.toboo-account button.woocommerce-button,
.toboo-account .woocommerce-button.button {
	/* Prefer Toboo primary buttons from helpers; mute leftover WC buttons. */
	appearance: none;
}


/* -------------------------------------------------------------------------
 * Product preview modal (stacks above cart)
 * ---------------------------------------------------------------------- */
#product-preview-modal.toboo-product-preview-modal {
	z-index: 1400;
}

#product-preview-modal .tw-content-modal__panel {
	width: min(100%, 40rem);
	max-width: 40rem;
	max-height: min(90dvh, 48rem);
}

#product-preview-modal.toboo-product-preview-modal--over-cart .tw-modal-overlay__backdrop {
	background: rgba(20, 20, 22, 0.35);
	-webkit-backdrop-filter: blur(2px);
	backdrop-filter: blur(2px);
}

/* Cart sits behind preview: smaller + blurred body, sharp header. */
#shop-modal.is-behind-preview {
	pointer-events: none;
}

#shop-modal.is-behind-preview .tw-content-modal__panel {
	transform: scale(0.92);
	transform-origin: center center;
	transition: transform 0.3s ease;
}

#shop-modal .tw-content-modal__body-wrapper,
#shop-modal .tw-content-modal__footer,
#shop-modal .modal-footer {
	transition: filter 0.3s ease, opacity 0.3s ease;
}

#shop-modal.is-behind-preview .tw-content-modal__body-wrapper,
#shop-modal.is-behind-preview .tw-content-modal__footer,
#shop-modal.is-behind-preview .modal-footer {
	filter: blur(3px);
	opacity: 0.72;
}

#shop-modal.is-behind-preview .tw-content-modal__header,
#shop-modal.is-behind-preview .modal-header {
	filter: none;
	opacity: 1;
}

.toboo-product-preview {
	display: grid;
	gap: 1.25rem;
}

@media (min-width: 640px) {
	.toboo-product-preview {
		grid-template-columns: minmax(8rem, 12rem) minmax(0, 1fr);
		align-items: start;
	}

	#product-preview-modal .toboo-product-preview__media {
		position: sticky;
		top: 0;
		align-self: start;
	}
}

.toboo-product-preview__media {
	margin: 0;
	padding: 0;
	background: transparent;
	overflow: visible;
}

.toboo-product-preview__image {
	display: block;
	width: 100%;
	height: auto;
	max-width: 100%;
	object-fit: contain;
	object-position: center top;
	background: transparent;
	border-radius: var(--tw-radius-card, 2.5rem);
}

.toboo-product-preview__title {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	min-width: 0;
	font-weight: 600;
	line-height: 1.25;
}

.toboo-product-preview__title-label {
	min-width: 0;
	line-height: 1.25;
}

.toboo-product-preview__title-icon,
.toboo-product-preview__title-icon.icon-svg,
.toboo-product-preview__title .icon-svg {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 1.15em;
	height: 1.15em;
	line-height: 0;
	color: inherit;
	fill: currentColor;
}

.toboo-product-preview__title-icon svg,
.toboo-product-preview__title .icon-svg svg {
	display: block;
	width: 1.15em;
	height: 1.15em;
	margin: 0;
}

.toboo-product-preview__content {
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.toboo-product-preview__meta {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
}

.toboo-product-preview__name {
	margin: 0;
	font-size: clamp(1.15rem, 2.5vw, 1.35rem);
	font-weight: 650;
	line-height: 1.25;
}

.toboo-product-preview__price {
	font-size: 1.15rem;
	font-weight: 600;
	line-height: 1.2;
}

.toboo-product-preview__section {
	margin: 0;
}

.toboo-product-preview__heading {
	margin: 0 0 0.4rem;
	font-size: 0.95rem;
	font-weight: 600;
	line-height: 1.3;
}

.toboo-product-preview__text {
	font-size: 0.9rem;
	line-height: 1.5;
}

.toboo-product-preview__text > :first-child {
	margin-top: 0;
}

.toboo-product-preview__text > :last-child {
	margin-bottom: 0;
}

#product-preview-modal .tw-content-modal__body-wrapper {
	overflow: auto;
}

#product-preview-modal .toboo-product-preview__footer {
	flex: 0 0 auto;
	padding: 0.85rem 1.25rem calc(0.85rem + env(safe-area-inset-bottom, 0px));
	border-top: 1px solid var(--tw-gray-200, #e3e3e3);
	background: #fff;
}

#product-preview-modal .toboo-product-preview__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem 1.25rem;
	width: 100%;
}

#product-preview-modal .toboo-product-preview__page-wrap {
	flex: 1 1 auto;
	min-width: 0;
	margin: 0;
	display: flex;
	align-items: center;
}

#product-preview-modal .toboo-product-preview__add-wrap {
	flex: 0 1 14rem;
	min-width: 0;
	margin: 0;
}

#product-preview-modal .toboo-product-preview__actions .wp-block-button {
	width: 100%;
}

#product-preview-modal .toboo-product-preview__page-link {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	color: var(--tw-color-dark, #141416);
	font-size: 0.95rem;
	font-weight: 500;
	line-height: 1.3;
	text-decoration: underline;
	text-underline-offset: 0.15em;
	background: none;
	border: 0;
	padding: 0;
}

#product-preview-modal .toboo-product-preview__page-link:hover,
#product-preview-modal .toboo-product-preview__page-link:focus-visible {
	color: var(--toboo-green-text, var(--wp--preset--color--green-text, #586b08));
}

#product-preview-modal .toboo-product-preview__page-icon,
#product-preview-modal .toboo-product-preview__page-icon.icon-svg,
#product-preview-modal .toboo-product-preview__page-icon svg {
	display: block;
	width: 1em;
	height: 1em;
	flex: 0 0 auto;
	fill: currentColor;
}

#product-preview-modal .toboo-product-preview__price,
#product-preview-modal .toboo-product-preview__price .woocommerce-Price-amount,
#product-preview-modal .toboo-product-preview__price .woocommerce-Price-amount bdi,
#product-preview-modal .toboo-product-preview__price > ins,
#product-preview-modal .toboo-product-preview__price > ins .woocommerce-Price-amount bdi {
	color: var(--tw-color-dark, #141416) !important;
}

#product-preview-modal .toboo-product-preview__add.is-disabled,
#product-preview-modal .toboo-product-preview__add:disabled {
	opacity: 0.55;
	cursor: not-allowed;
}


.modal-cart .toboo-cart-product__title-link {
	color: inherit;
	text-decoration: none;
}

.modal-cart .toboo-cart-product__title-link:hover {
	text-decoration: underline;
}

#product-preview-modal .toboo-product-preview__metadata {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.85rem 1.15rem;
	margin-top: 0.35rem;
	font-size: 0.95rem;
	font-weight: 500;
	line-height: 1.2;
	color: var(--tw-color-dark, #141416);
}

#product-preview-modal .toboo-product-preview__meta-item,
#product-preview-modal .toboo-product-preview__metadata .meta {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	white-space: nowrap;
	line-height: 1.2;
}

#product-preview-modal .toboo-product-preview__meta-value {
	line-height: 1.2;
}

#product-preview-modal .toboo-product-preview__meta-icon,
#product-preview-modal .toboo-product-preview__meta-icon.icon-svg,
#product-preview-modal .toboo-product-preview__metadata .icon-svg {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 1.15em;
	height: 1.15em;
	line-height: 0;
	color: inherit;
	fill: currentColor;
}

#product-preview-modal .toboo-product-preview__meta-icon svg,
#product-preview-modal .toboo-product-preview__metadata .icon-svg svg {
	display: block;
	width: 1.15em;
	height: 1.15em;
	margin: 0;
}

#product-preview-modal .toboo-product-preview__meta-icon--bgg,
#product-preview-modal .toboo-product-preview__meta-icon--bgg.icon-svg {
	width: auto;
	height: 1.25em;
}

#product-preview-modal .toboo-product-preview__meta-icon--bgg svg {
	width: auto;
	height: 1.25em;
	max-height: 1.35em;
}

#product-preview-modal .toboo-product-preview__metadata .flag,
#product-preview-modal .toboo-product-preview__metadata .meta-language svg.flag,
#product-preview-modal .toboo-product-preview__metadata .meta-language img.flag {
	display: block;
	height: 1rem;
	width: auto;
	border: 1px solid color-mix(in srgb, var(--tw-color-dark, #141416) 18%, transparent);
}

/* Checkout legal pages (AGB / Widerruf) in content modal. */
.tw-content-modal[data-modalcontext="legal"] .toboo-legal-modal__content {
	padding: 0.25rem 0.15rem 0.75rem;
	font-size: 0.95rem;
	line-height: 1.55;
	color: var(--tw-color-dark, #141416);
}

.tw-content-modal[data-modalcontext="legal"] .toboo-legal-modal__content > *:first-child {
	margin-top: 0;
}

.tw-content-modal[data-modalcontext="legal"] .toboo-legal-modal__content > *:last-child {
	margin-bottom: 0;
}

.woocommerce-checkout [data-checkbox="terms"] a[data-toboo-legal-page] {
	text-decoration: underline;
	text-underline-offset: 0.12em;
	cursor: pointer;
}

/* Legal checkboxes: suppress JustValidate labels; show our hint under the field. */
.woocommerce-checkout #summary [data-checkbox] .just-validate-error-label,
.woocommerce-checkout #summary [data-checkbox] label.just-validate-error-label,
.woocommerce-checkout #summary [data-checkbox] input[type="checkbox"] + .just-validate-error-label {
	display: none !important;
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}

.woocommerce-checkout #summary [data-checkbox] input[type="checkbox"].field-error,
.woocommerce-checkout #summary [data-checkbox] input[type="checkbox"].woocommerce-invalid {
	outline: none;
	border: 2px solid var(--tw-danger, #e40046);
	box-shadow: none;
}

.woocommerce-checkout #summary .toboo-legal-checkbox-hint {
	margin: 0.45rem 0 0;
	padding: 0;
	color: var(--tw-danger, #e40046);
	font-size: 0.875rem;
	line-height: 1.4;
}

/* Payment & shipping info (auto from Woo config) — colors set in page.css for dark shell. */
.toboo-methods-info__heading {
	margin: 0 0 1rem;
	font-size: clamp(1.35rem, 2vw, 1.75rem);
	line-height: 1.25;
}

.toboo-methods-info__section + .toboo-methods-info__section {
	margin-top: 2.5rem;
	padding-top: 2rem;
	border-top: 1px solid color-mix(in srgb, currentColor 18%, transparent);
}

.toboo-methods-info__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 0.85rem;
}

.toboo-methods-info__item {
	display: grid;
	gap: 0.35rem;
	padding: 0.85rem 0;
	border-bottom: 1px solid color-mix(in srgb, currentColor 14%, transparent);
}

.toboo-methods-info__item:last-child {
	border-bottom: 0;
}

.toboo-methods-info__item--shipping {
	display: grid;
	gap: 0.2rem;
	padding: 0.85rem 0;
	border-bottom: 1px solid color-mix(in srgb, currentColor 14%, transparent);
}

.toboo-methods-info__item--shipping:last-child {
	border-bottom: 0;
}

.toboo-methods-info__head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem 0.75rem;
}

.toboo-methods-info__title {
	font-weight: 650;
	line-height: 1.3;
}

.toboo-methods-info__meta {
	margin: 0;
	font-size: 0.95rem;
	line-height: 1.45;
	opacity: 0.88;
}

.toboo-methods-info__cost-label {
	font-weight: 500;
}

.toboo-methods-info__cost-value {
	font-weight: 650;
	font-variant-numeric: tabular-nums;
}

.toboo-methods-info__cost-condition {
	font-weight: 500;
	opacity: 0.9;
}

.toboo-methods-info__desc {
	font-size: 0.95rem;
	line-height: 1.5;
	opacity: 0.86;
}

.toboo-methods-info__desc > *:first-child {
	margin-top: 0;
}

.toboo-methods-info__desc > *:last-child {
	margin-bottom: 0;
}

.toboo-methods-info__zone + .toboo-methods-info__zone {
	margin-top: 2rem;
	padding-top: 1.75rem;
	border-top: 1px solid color-mix(in srgb, currentColor 14%, transparent);
}

.toboo-methods-info__zone-title {
	margin: 0 0 0.85rem;
	font-size: clamp(1.2rem, 2vw, 1.45rem);
	line-height: 1.25;
	font-weight: 700;
}

.toboo-methods-info__zone-title--country {
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
}

.toboo-methods-info__zone-title-text {
	font: inherit;
}

.toboo-methods-info__method-name {
	margin: 0;
	font-size: 1rem;
	line-height: 1.35;
	font-weight: 650;
}

.toboo-methods-info__countries {
	list-style: none;
	margin: 0 0 0.85rem;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem 0.65rem;
}

.toboo-methods-info__country {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	font-size: 0.875rem;
	line-height: 1.3;
	opacity: 0.92;
}

.toboo-methods-info__country-name {
	font-weight: 500;
}

.toboo-methods-info__flag-emoji,
.toboo-methods-info__flag-svg {
	display: block;
	flex: 0 0 auto;
	width: 1.35em;
	height: auto;
	aspect-ratio: 4 / 3;
	border-radius: 2px;
	box-shadow: 0 0 0 1px color-mix(in srgb, currentColor 18%, transparent);
}

.toboo-methods-info__flag-emoji {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 1.35em;
	line-height: 1;
	box-sizing: border-box;
	overflow: hidden;
}

.toboo-methods-info__note,
.toboo-methods-info__empty {
	margin: 1rem 0 0;
	font-size: 0.9rem;
	line-height: 1.45;
	opacity: 0.78;
}

.toboo-methods-info__head .toboo-payment-method__icons {
	margin-right: 0.15rem;
}

.toboo-methods-info__icons img,
.toboo-methods-info__icons svg {
	display: inline-block;
	vertical-align: middle;
	max-height: 1.5em;
	width: auto;
}

/* Hide WooCommerce blockUI micro-loaders — Toboo spinner handles checkout loading inline. */
.woocommerce-checkout #checkout_form > .blockUI.blockOverlay::before,
.woocommerce-checkout .blockUI.blockOverlay::before {
	display: none !important;
	content: none !important;
}

.woocommerce-checkout #checkout_form > .blockUI.blockOverlay,
.woocommerce-checkout #payment .blockUI.blockOverlay,
.woocommerce-checkout #shop-cart-review .blockUI.blockOverlay,
.woocommerce-checkout .woocommerce-checkout-payment .blockUI.blockOverlay,
.woocommerce-checkout .woocommerce-checkout-review-order-table .blockUI.blockOverlay {
	background: transparent !important;
	opacity: 0 !important;
}

/* Order received / thank-you page (checkout shell). */
.toboo-order-received {
	display: grid;
	gap: 1rem;
	width: 100%;
}

/* Brand O rim around the success card (same system as default pages). */
.toboo-order-received__success-wrap.toboo-page-shell__card-wrap {
	--toboo-o-pad-y: clamp(1.75rem, 4vw, 2.75rem);
	--toboo-o-pad-x: clamp(1.35rem, 4vw, 2rem);
	position: relative;
	z-index: 1;
	isolation: isolate;
	width: auto;
	max-width: none;
	margin: 0 calc(-1 * var(--toboo-o-pad-x));
	padding: var(--toboo-o-pad-y) var(--toboo-o-pad-x);
	box-sizing: border-box;
	overflow: visible;
}

@media (max-width: 781px) {
	.toboo-order-received__success-wrap.toboo-page-shell__card-wrap {
		--toboo-o-pad-x: 1.25rem;
		margin: 0;
		overflow-x: clip;
	}
}

/* Cards below the success hero paint above O overflow from the rim. */
.toboo-order-received > * + * {
	position: relative;
	z-index: 2;
}

.toboo-order-received__success-wrap .toboo-page-shell__os {
	position: absolute;
	top: var(--toboo-o-pad-y);
	right: var(--toboo-o-pad-x);
	bottom: var(--toboo-o-pad-y);
	left: var(--toboo-o-pad-x);
	z-index: 1;
	pointer-events: none;
	overflow: visible;
}

.toboo-order-received__success-wrap .toboo-page-shell__o {
	--toboo-o-base: clamp(2.75rem, 8vw, 4.75rem);
	--toboo-o-push-x: 0px;
	--toboo-o-push-y: 0px;
	position: absolute;
	display: block;
	width: calc(var(--toboo-o-base) * var(--toboo-o-size, 1));
	line-height: 0;
	transform:
		translate(
			calc(-50% + var(--toboo-o-nudge-x, 0px) + var(--toboo-o-push-x)),
			calc(-50% + var(--toboo-o-nudge-y, 0px) + var(--toboo-o-push-y))
		)
		rotate(var(--toboo-o-rot, 0deg));
	transition: transform 0.28s cubic-bezier(0.22, 1, 0.36, 1);
	will-change: transform;
}

@media (prefers-reduced-motion: reduce) {
	.toboo-order-received__success-wrap .toboo-page-shell__o {
		transition: none;
		will-change: auto;
	}
}

@keyframes toboo-page-o-pop {
	0% {
		opacity: 0;
		transform: scale(0.55);
	}
	55% {
		opacity: 1;
		transform: scale(1.12);
	}
	78% {
		opacity: 1;
		transform: scale(0.97);
	}
	100% {
		opacity: 1;
		transform: scale(1);
	}
}

.toboo-order-received__success-wrap .toboo-page-shell__o-pop {
	display: block;
	width: 100%;
	line-height: 0;
	transform-origin: center center;
	opacity: 0;
	transform: scale(0.55);
}

.toboo-order-received__success-wrap .toboo-page-shell__o.is-in .toboo-page-shell__o-pop {
	animation: toboo-page-o-pop 0.75s cubic-bezier(0.33, 1, 0.68, 1) both;
	animation-delay: var(--toboo-o-reveal-delay, 0s);
}

@media (prefers-reduced-motion: reduce) {
	.toboo-order-received__success-wrap .toboo-page-shell__o-pop {
		opacity: 1;
		transform: none;
		animation: none;
	}
}

.toboo-order-received__success-wrap .toboo-page-shell__o svg {
	display: block;
	width: 100%;
	height: auto;
	overflow: visible;
}

.toboo-order-received__success-wrap .toboo-page-shell__o path {
	fill: var(--toboo-o-fill, var(--wp--preset--color--o-lila, #7a3cff));
}

.toboo-order-received__success.toboo-page-card.toboo-panel {
	position: relative;
	z-index: 2;
	width: 100%;
	margin: 0;
}

.toboo-order-received .toboo-panel,
.toboo-order-received__verify.toboo-panel {
	width: 100%;
}

.toboo-order-received__success .toboo-panel__body,
.toboo-order-received__failed .toboo-panel__body {
	margin: 0;
	font-size: 1rem;
	line-height: 1.5;
}

.toboo-order-received__success .woocommerce-thankyou-order-received,
.toboo-order-received__failed .woocommerce-thankyou-order-failed {
	background: transparent;
	border: 0;
	padding: 0;
	margin: 0;
}

.toboo-order-received__facts {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 0.65rem;
}

.toboo-order-received__facts li {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 0.35rem 1rem;
	padding: 0.65rem 0.85rem;
	background: color-mix(in srgb, var(--tw-light, #e9edf0) 55%, #fff);
	border-radius: var(--tw-radius);
	font-size: 0.9375rem;
	line-height: 1.4;
}

.toboo-order-received__fact-label {
	opacity: 0.8;
}

.toboo-order-received__facts strong {
	font-weight: 600;
	text-align: right;
}

.toboo-order-received__actions {
	display: grid;
	gap: 0.75rem;
	margin-top: 1rem;
}

.toboo-order-received__actions-secondary {
	margin-top: 0;
}

.toboo-order-received__success .toboo-order-received__payment-note {
	margin-top: 1rem;
	padding-top: 1rem;
	border-top: 1px solid color-mix(in srgb, var(--tw-secondary, #1e1e21) 12%, transparent);
}

.toboo-order-received__success .toboo-order-received__payment-note > p,
.toboo-order-received__success .toboo-order-received__payment-note .wc-bacs-bank-details {
	margin: 0;
	font-size: 0.9375rem;
	line-height: 1.45;
}

.toboo-order-received__success .toboo-order-received__payment-note strong {
	font-weight: 600;
}

.toboo-order-received__success .toboo-order-received__payment-note > p + p,
.toboo-order-received__success .toboo-order-received__payment-note > p + .wc-bacs-bank-details {
	margin-top: 0.75rem;
}

.toboo-order-received__payment-note:empty {
	display: none;
}

.toboo-order-received__addresses {
	margin-top: 0.25rem;
}

.toboo-order-received__addresses .toboo-panel__inner > .toboo-checkout-heading,
.toboo-order-received__addresses .toboo-panel__inner > .toboo-checkout-heading-row .toboo-checkout-heading {
	color: var(--tw-secondary, #1e1e21);
	margin-bottom: 0.85rem;
}

.toboo-order-received__addresses .toboo-panel,
.toboo-order-received__addresses .toboo-address-summary,
.toboo-order-received__addresses .toboo-panel__inner,
.toboo-order-received__addresses .toboo-address-summary__grid {
	width: 100%;
}

.toboo-checkout-body.woocommerce-order-received .woocommerce {
	width: 100%;
}

.toboo-checkout-body.woocommerce-order-received .woocommerce-notices-wrapper,
.toboo-order-received__verify .woocommerce-notices-wrapper {
	display: block;
	margin: 0 0 1rem;
}

.toboo-checkout-body.woocommerce-order-received .woocommerce-message,
.toboo-checkout-body.woocommerce-order-received .woocommerce-info,
.toboo-checkout-body.woocommerce-order-received .woocommerce-error,
.toboo-checkout-body.woocommerce-order-received .wc-block-components-notice-banner,
.toboo-order-received__verify .woocommerce-message,
.toboo-order-received__verify .woocommerce-error {
	list-style: none;
	margin: 0 0 0.75rem;
	padding: 0.75rem 1rem;
	border-radius: var(--tw-radius-lg);
	font-size: 0.9375rem;
	line-height: 1.4;
}

.toboo-checkout-body.woocommerce-order-received .woocommerce-message,
.toboo-checkout-body.woocommerce-order-received .wc-block-components-notice-banner.is-info,
.toboo-order-received__verify .woocommerce-message {
	background: color-mix(in srgb, var(--wp--preset--color--primary, #849e14) 18%, #fff);
	color: var(--tw-secondary, #1e1e21);
}

.toboo-checkout-body.woocommerce-order-received .woocommerce-error,
.toboo-order-received__verify .woocommerce-error {
	background: color-mix(in srgb, var(--tw-danger, #ff3c17) 16%, #fff);
	color: var(--tw-danger, #ff3c17);
}

.toboo-checkout-body.woocommerce-order-received .toboo-order-received__login .toboo-account-form,
.toboo-order-received__verify .toboo-account-form {
	margin-top: 0.5rem;
}

.toboo-checkout-body.woocommerce-order-received .toboo-order-received__login .toboo-label,
.toboo-order-received__verify .toboo-label,
.toboo-checkout-body.woocommerce-order-received .toboo-order-received__login .toboo-field,
.toboo-order-received__verify .toboo-field,
.toboo-checkout-body.woocommerce-order-received .toboo-order-received__login .toboo-account-form__link,
.toboo-order-received__verify .toboo-account-form__link,
.toboo-checkout-body.woocommerce-order-received .toboo-order-received__login .toboo-account-form__link a,
.toboo-order-received__verify .toboo-account-form__link a {
	color: var(--tw-secondary, #1e1e21);
}

.toboo-order-received .toboo-checkout-heading {
	color: #fff;
}

.toboo-order-received__overview .toboo-checkout-heading,
.toboo-order-received__success .toboo-checkout-heading,
.toboo-order-received__failed .toboo-checkout-heading,
.toboo-order-received__verify .toboo-checkout-heading,
.toboo-order-received__login .toboo-checkout-heading {
	color: var(--tw-secondary, #1e1e21);
}

/* Germanized EU withdrawal form (Vertrag widerrufen). */
.toboo-withdrawal-page .order-withdrawal-request {
	margin-top: 1.25rem;
	width: 100%;
	max-width: none;
}

.toboo-withdrawal-page .order-withdrawal-request .form-row {
	position: relative;
	margin-bottom: 1rem;
}

.toboo-withdrawal-page .order-withdrawal-request .toboo-label {
	font-size: 0.8rem;
	position: absolute;
	top: 8px;
	left: 14px;
	font-weight: 500;
	z-index: 1;
	color: var(--tw-secondary, #1e1e21);
}

.toboo-withdrawal-page .order-withdrawal-request .toboo-field,
.toboo-withdrawal-page .order-withdrawal-request .toboo-field--select,
.toboo-withdrawal-page .order-withdrawal-request textarea.toboo-field {
	display: block;
	width: 100%;
	min-height: 3.5rem;
	padding: 1.55rem 0.9rem 0.5rem;
	border: 2px solid var(--tw-cyan, #c4cbd6);
	border-radius: var(--tw-radius-card, 2.5rem);
	corner-shape: squircle;
	background: #fff;
	font: inherit;
	font-size: 1.05rem;
	color: var(--tw-secondary, #1e1e21);
	-webkit-text-fill-color: var(--tw-secondary, #1e1e21);
	caret-color: var(--tw-secondary, #1e1e21);
	appearance: none;
	transition: border-color 0.15s ease;
	box-sizing: border-box;
}

.toboo-withdrawal-page .order-withdrawal-request .toboo-field:focus,
.toboo-withdrawal-page .order-withdrawal-request .toboo-field--select:focus,
.toboo-withdrawal-page .order-withdrawal-request textarea.toboo-field:focus {
	outline: none;
	border-color: var(--wp--preset--color--primary, #849e14);
}

.toboo-withdrawal-page .order-withdrawal-request .form-row.woocommerce-invalid .toboo-field {
	border-color: var(--tw-danger, #ff3c17);
	box-shadow: 0 0 0 0.25rem rgba(255, 60, 23, 0.22);
}

.toboo-withdrawal-page .order-withdrawal-request .form-row-submit {
	margin-top: 1.5rem;
}

.toboo-withdrawal-page .order-withdrawal-request .button,
.toboo-withdrawal-page .order-withdrawal-request .wp-element-button {
	width: 100%;
	justify-content: center;
}

.toboo-withdrawal-page .order-withdrawal-request .woocommerce-info.notice,
.toboo-withdrawal-page .order-withdrawal-request .eu-owb-woocommerce-select-certain-items-desc {
	margin: 0.75rem 0 0;
	font-size: 0.9375rem;
	line-height: 1.45;
}

.toboo-withdrawal-page {
	--toboo-body-bg: var(--tw-light, #e9edf0);
}

/* Germanized sets .loading on the form during order AJAX — not a spinner overlay. */
.toboo-withdrawal-page .order-withdrawal-request.loading,
.toboo-withdrawal-page .eu-owb-order-item-select-wrapper.loading {
	position: static;
	inset: auto;
	left: auto;
	top: auto;
	width: auto;
	height: auto;
	display: block;
	z-index: auto;
	opacity: 1;
	pointer-events: auto;
	background: transparent;
	background-image: none;
}

.toboo-withdrawal-page .order-withdrawal-request .eu-owb-form-fields {
	display: flow-root;
}

.toboo-withdrawal-page .order-withdrawal-request .form-row-first,
.toboo-withdrawal-page .order-withdrawal-request .form-row-last {
	float: none;
	width: 100%;
}

@media (min-width: 600px) {
	.toboo-withdrawal-page .order-withdrawal-request .form-row-first,
	.toboo-withdrawal-page .order-withdrawal-request .form-row-last {
		width: calc(50% - 0.5rem);
	}

	.toboo-withdrawal-page .order-withdrawal-request .form-row-first {
		float: left;
	}

	.toboo-withdrawal-page .order-withdrawal-request .form-row-last {
		float: right;
	}

	.toboo-withdrawal-page .order-withdrawal-request .form-row-wide,
	.toboo-withdrawal-page .order-withdrawal-request .clear {
		clear: both;
		width: 100%;
	}
}

.toboo-withdrawal-page .eu-owb-order-item-select-wrapper:not(:has(> *)):not(.loading) {
	display: none;
	margin: 0;
	padding: 0;
}

.toboo-withdrawal-page .eu-owb-order-item-select-wrapper {
	margin: 1.25rem 0 1.5rem;
	padding: 1rem 1.15rem 1.15rem;
	border-radius: var(--tw-radius-card, 2.5rem);
	corner-shape: squircle;
	background: var(--toboo-body-bg, var(--tw-light, #e9edf0));
	border: 0;
	color: var(--tw-secondary, #1e1e21);
}

.toboo-withdrawal-page .eu-owb-order-item-select-wrapper.loading {
	opacity: 0.55;
	pointer-events: none;
}

.toboo-withdrawal-page .eu-owb-order-item-select-wrapper .form-row {
	position: static;
	margin-bottom: 0.75rem;
}

.toboo-withdrawal-page .eu-owb-order-item-select-wrapper .form-row:last-child {
	margin-bottom: 0;
}

.toboo-withdrawal-page .eu-owb-woocommerce-withdrawal-order-details {
	margin: 0 0 0.85rem;
	font-size: 0.95rem;
	line-height: 1.45;
}

.toboo-withdrawal-page .eu-owb-woocommerce-withdrawal-order-details mark {
	background: transparent;
	font-weight: 600;
	color: inherit;
	padding: 0;
}

.toboo-withdrawal-page .eu-owb-order-item-select-wrapper .order-withdrawal-manually-select-items-checkbox {
	margin-bottom: 0.75rem;
}

.toboo-withdrawal-page .eu-owb-order-item-select-wrapper .order-withdrawal-manually-select-items-checkbox label.checkbox {
	position: static;
	display: flex;
	align-items: flex-start;
	gap: 0.5rem;
	font-size: 0.98rem;
	line-height: 1.35;
}

.toboo-withdrawal-page .eu-owb-order-item-select-wrapper .order-withdrawal-manually-select-items-checkbox .optional {
	display: none;
}

.toboo-withdrawal-page .order-withdrawal-request-items-table {
	width: 100%;
	margin: 0;
	border-collapse: separate;
	border-spacing: 0;
}

.toboo-withdrawal-page .order-withdrawal-request-items-table thead th {
	padding: 0.55rem 0.65rem 0.65rem;
	font-size: 0.8rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	color: color-mix(in srgb, var(--tw-secondary, #1e1e21) 62%, transparent);
	border-bottom: 1px solid color-mix(in srgb, var(--tw-cyan, #c4cbd6) 55%, transparent);
}

.toboo-withdrawal-page .order-withdrawal-request-items-table tbody td {
	padding: 0.75rem 0.65rem;
	vertical-align: middle;
	border-bottom: 1px solid color-mix(in srgb, var(--tw-cyan, #c4cbd6) 35%, transparent);
}

.toboo-withdrawal-page .order-withdrawal-request-items-table tbody tr:last-child td {
	border-bottom: 0;
}

.toboo-withdrawal-page .order-withdrawal-request-items-table .product-select {
	width: 2.75rem;
	padding-left: 0;
	padding-right: 0.35rem;
}

.toboo-withdrawal-page .order-withdrawal-request-items-table .product-select label {
	justify-content: center;
	margin: 0;
}

.toboo-withdrawal-page .order-withdrawal-request-items-table .product-name {
	padding-right: 1rem;
	line-height: 1.35;
}

.toboo-withdrawal-page .order-withdrawal-request-items-table .product-name a {
	color: var(--tw-secondary, #1e1e21);
	text-decoration: underline;
	text-underline-offset: 0.12em;
}

.toboo-withdrawal-page .order-withdrawal-request-items-table .product-name a:hover,
.toboo-withdrawal-page .order-withdrawal-request-items-table .product-name a:focus-visible {
	color: var(--wp--preset--color--primary, #849e14);
}

.toboo-withdrawal-page .order-withdrawal-request-items-table .product-name small {
	display: inline-block;
	margin-left: 0.25rem;
	font-size: 0.82em;
	opacity: 0.72;
}

.toboo-withdrawal-page .order-withdrawal-request-items-table .product-quantity {
	width: 4.25rem;
	padding-right: 0;
	text-align: right;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

.toboo-withdrawal-page .order-withdrawal-request-items-table .product-quantity .quantity {
	display: none;
}
