.wp-block-woocommerce-checkout,
.wp-block-woocommerce-checkout-order-summary-block {
	--code-order-surface: #ffffff;
	--code-order-surface-muted: #f8fafc;
	--code-order-border: #e7eaf0;
	--code-order-text: #0f172a;
	--code-order-text-muted: #64748b;
	--code-order-primary: #6f00ff;
	--code-order-primary-soft: rgba(111, 0, 255, 0.08);
	--code-order-logo-url: none;
	--code-order-logo-height: 0px;
	--code-order-logo-offset: 0px;
	--code-order-shadow: 0 18px 40px rgba(15, 23, 42, 0.06);
}

.wp-block-woocommerce-checkout {
	position: relative !important;
	padding-top: calc(24px + var(--code-order-logo-offset)) !important;
}

.wp-block-woocommerce-checkout .code-order-checkout-logo-link {
	position: absolute !important;
	top: 24px !important;
	left: 0 !important;
	width: clamp(120px, 18vw, 180px) !important;
	height: var(--code-order-logo-height) !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: flex-start !important;
	text-decoration: none !important;
	z-index: 2 !important;
}

.wp-block-woocommerce-checkout .code-order-checkout-logo-image {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	object-fit: contain !important;
	object-position: left center !important;
}

.wp-block-woocommerce-checkout .wc-block-components-checkout-step,
.wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block {
	background: var(--code-order-surface) !important;
	border: 1px solid var(--code-order-border) !important;
	border-radius: 20px !important;
	box-shadow: var(--code-order-shadow) !important;
}

.wp-block-woocommerce-checkout .wc-block-components-checkout-step {
	margin-bottom: 10px !important;
	padding: 24px !important;
}

.wp-block-woocommerce-checkout-order-summary-totals-block {
	border-top: 1px solid #eaeaea !important;
	border-bottom: 1px solid #eaeaea !important;
	padding: 10px 0 !important;
}

.wc-block-components-checkout-order-summary__title {
	border: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block {
	padding: 16px !important;
}

.wp-block-woocommerce-checkout .wc-block-components-order-summary {
	position: sticky !important;
	top: 24px !important;
}

.wc-block-components-checkout-order-summary__title {
	outline: none !important;
}

.wp-block-woocommerce-checkout .wc-block-components-checkout-step__description,
.wp-block-woocommerce-checkout .wc-block-components-address-card__address-section,
.wp-block-woocommerce-checkout .wc-block-components-radio-control__description,
.wp-block-woocommerce-checkout .wc-block-components-radio-control__secondary-description,
.wp-block-woocommerce-checkout .wc-block-components-totals-item__label,
.wp-block-woocommerce-checkout .wc-block-components-formatted-money-amount,
.wp-block-woocommerce-checkout .wc-block-components-checkbox label,
.wp-block-woocommerce-checkout .wc-block-components-text-input label,
.wp-block-woocommerce-checkout .wc-blocks-components-select .wc-blocks-components-select__label {
	color: var(--code-order-text-muted) !important;
}

.wp-block-woocommerce-checkout .wc-block-components-checkout-step__description {
	font-size: 13px !important;
	line-height: 1.55 !important;
}

.wp-block-woocommerce-checkout .wc-block-components-form .wc-block-components-text-input input[type="email"],
.wp-block-woocommerce-checkout .wc-block-components-form .wc-block-components-text-input input[type="number"],
.wp-block-woocommerce-checkout .wc-block-components-form .wc-block-components-text-input input[type="password"],
.wp-block-woocommerce-checkout .wc-block-components-form .wc-block-components-text-input input[type="tel"],
.wp-block-woocommerce-checkout .wc-block-components-form .wc-block-components-text-input input[type="text"],
.wp-block-woocommerce-checkout .wc-block-components-form .wc-block-components-text-input input[type="url"],
.wp-block-woocommerce-checkout .wc-block-components-textarea,
.wp-block-woocommerce-checkout .wc-blocks-components-select .wc-blocks-components-select__select,
.wp-block-woocommerce-checkout .wc-block-components-combobox .components-combobox-control__input {
	min-height: 48px !important;
	border: 1px solid var(--code-order-border) !important;
	border-radius: 14px !important;
	background: #fff !important;
	box-shadow: none !important;
	color: var(--code-order-text) !important;
}

.wp-block-woocommerce-checkout .wc-block-components-form .wc-block-components-text-input input[type="email"]:focus,
.wp-block-woocommerce-checkout .wc-block-components-form .wc-block-components-text-input input[type="number"]:focus,
.wp-block-woocommerce-checkout .wc-block-components-form .wc-block-components-text-input input[type="password"]:focus,
.wp-block-woocommerce-checkout .wc-block-components-form .wc-block-components-text-input input[type="tel"]:focus,
.wp-block-woocommerce-checkout .wc-block-components-form .wc-block-components-text-input input[type="text"]:focus,
.wp-block-woocommerce-checkout .wc-block-components-form .wc-block-components-text-input input[type="url"]:focus,
.wp-block-woocommerce-checkout .wc-block-components-textarea:focus,
.wp-block-woocommerce-checkout .wc-blocks-components-select .wc-blocks-components-select__select:focus,
.wp-block-woocommerce-checkout .wc-block-components-combobox .components-combobox-control__input:focus {
	border-color: color-mix(in srgb, var(--code-order-primary) 35%, var(--code-order-border)) !important;
	box-shadow: 0 0 0 4px var(--code-order-primary-soft) !important;
	outline: none !important;
}

.wp-block-woocommerce-checkout .wc-block-components-address-card {
	border: 1px solid var(--code-order-border) !important;
	border-radius: 18px !important;
	background: linear-gradient(180deg, #ffffff, #fcfcff) !important;
	box-shadow: none !important;
	padding: 20px !important;
}

.wp-block-woocommerce-checkout .wc-block-components-address-card__edit {
	color: var(--code-order-primary) !important;
	font-weight: 600 !important;
}

.wp-block-woocommerce-checkout .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"] {
	border: 1px solid var(--code-order-border) !important;
	border-radius: 6px !important;
	background: #fff !important;
}

.wp-block-woocommerce-checkout .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]:focus {
	outline: 1.5px solid color-mix(in srgb, var(--code-order-primary) 80%, transparent) !important;
	outline-offset: 1.5px !important;
}

.wp-block-woocommerce-checkout .wc-block-components-checkbox .wc-block-components-checkbox__mark {
	fill: var(--code-order-text) !important;
}

.wp-block-woocommerce-checkout .wc-block-components-radio-control .wc-block-components-radio-control__input {
	border: 1px solid var(--code-order-border) !important;
	background: #fff !important;
}

.wp-block-woocommerce-checkout .wc-block-components-radio-control .wc-block-components-radio-control__input:checked {
	border-color: color-mix(in srgb, var(--code-order-primary) 80%, transparent) !important;
}

.wp-block-woocommerce-checkout .wc-block-components-radio-control .wc-block-components-radio-control__input:checked:before {
	background: var(--code-order-primary) !important;
}

.wp-block-woocommerce-checkout .wc-block-components-radio-control .wc-block-components-radio-control__input:focus {
	outline: 1px solid color-mix(in srgb, var(--code-order-primary) 80%, transparent) !important;
	outline-offset: 2px !important;
}

.wp-block-woocommerce-checkout .wc-block-components-button:not(.is-link):not(.text),
.wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button {
	border: 0 !important;
	border-radius: 14px !important;
	font-weight: 700 !important;
	min-height: 48px !important;
	background: linear-gradient(135deg, var(--code-order-primary), color-mix(in srgb, var(--code-order-primary) 70%, #ffffff)) !important;
	box-shadow: none !important;
	color: #fff !important;
}

.wp-block-woocommerce-checkout .wc-block-components-button:not(.is-link):not(.text):focus,
.wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button:focus {
	box-shadow: 0 0 0 4px var(--code-order-primary-soft) !important;
	outline: none !important;
}

.wp-block-woocommerce-checkout .wc-block-checkout__login-prompt {
	font-size: 15px !important;
	text-decoration: none !important;
	padding: 5px 13px !important;
	line-height: 1.5 !important;
	color: var(--code-order-surface) !important;
	background: #720eec !important;
	border-radius: 18px !important;
}

.wp-block-woocommerce-checkout .wc-block-checkout__login-prompt .wc-block-components-button,
.wp-block-woocommerce-checkout .wc-block-checkout__login-prompt button,
.wp-block-woocommerce-checkout .wc-block-checkout__login-prompt a {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 10px 14px !important;
	border: 1px solid color-mix(in srgb, var(--code-order-primary) 22%, var(--code-order-border)) !important;
	border-radius: 999px !important;
	background: rgba(111, 0, 255, 0.06) !important;
	color: var(--code-order-primary) !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	text-decoration: none !important;
	box-shadow: none !important;
}

.wp-block-woocommerce-checkout .wc-block-checkout__login-prompt .wc-block-components-button:hover,
.wp-block-woocommerce-checkout .wc-block-checkout__login-prompt button:hover,
.wp-block-woocommerce-checkout .wc-block-checkout__login-prompt a:hover {
	background: rgba(111, 0, 255, 0.1) !important;
	border-color: color-mix(in srgb, var(--code-order-primary) 35%, var(--code-order-border)) !important;
	color: var(--code-order-primary) !important;
	text-decoration: none !important;
}

.wp-block-woocommerce-checkout .wc-block-checkout__login-prompt .wc-block-components-button:focus,
.wp-block-woocommerce-checkout .wc-block-checkout__login-prompt button:focus,
.wp-block-woocommerce-checkout .wc-block-checkout__login-prompt a:focus {
	outline: none !important;
	box-shadow: 0 0 0 4px var(--code-order-primary-soft) !important;
}

/*
 * Order summary:
 * keep the outer block as the single card and flatten inner Woo wrappers.
 */
.wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block,
.wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .checkout-order-summary-block-fill,
.wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary,
.wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__content {
	background: #fff !important;
	box-shadow: none !important;
}

.wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .checkout-order-summary-block-fill {
	border: 0 !important;
	border-radius: 0 !important;
}

.wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-panel,
.wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-wrapper {
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

.wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-panel:first-child,
.wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-wrapper:first-child,
.wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wp-block-woocommerce-checkout-order-summary-cart-items-block.wc-block-components-totals-wrapper {
	border-top: 0 !important;
	padding-top: 0 !important;
}

.wp-block-woocommerce-checkout .wc-block-components-order-summary-item {
	border-bottom: 1px solid var(--code-order-border) !important;
}

.wp-block-woocommerce-checkout .wc-block-components-order-summary-item:last-child {
	border-bottom: 0 !important;
}

.wp-block-woocommerce-checkout .wc-block-components-order-summary-item__image {
	border-radius: 14px !important;
	overflow: hidden !important;
}

.wp-block-woocommerce-checkout .wc-block-components-order-summary-item__quantity {
	border-color: var(--code-order-border) !important;
	box-shadow: 0 0 0 2px #fff !important;
}

.wp-block-woocommerce-checkout .wc-block-components-product-name {
	color: var(--code-order-text) !important;
	font-weight: 600 !important;
}

/*
 * Service / delivery selector block:
 * style the real interactive options, not Woo's helper wrappers.
 */
.wp-block-woocommerce-checkout .wc-block-checkout__shipping-method-container {
	background: var(--code-order-surface-muted) !important;
	border: 0 !important;
	border-radius: 16px !important;
	padding: 4px !important;
}

.wp-block-woocommerce-checkout .wc-block-checkout__shipping-method-option {
	border: 1px solid transparent !important;
	border-radius: 14px !important;
	padding: 10px 16px !important;
}

.wp-block-woocommerce-checkout .wc-block-checkout__shipping-method-option:hover,
.wp-block-woocommerce-checkout .wc-block-checkout__shipping-method-option:focus-within {
	background: rgba(111, 0, 255, 0.04) !important;
}

.wp-block-woocommerce-checkout .wc-block-checkout__shipping-method-option.wc-block-checkout__shipping-method-option--selected {
	background: #fff !important;
	border-color: color-mix(in srgb, var(--code-order-primary) 35%, var(--code-order-border)) !important;
	box-shadow: 0 0 0 4px var(--code-order-primary-soft) !important;
}

/*
 * Shipping rates / pickup lists:
 * remove Woo's extra wrapper borders and keep only the option card.
 */
.wp-block-woocommerce-checkout .wc-block-components-shipping-rates-control__package,
.wp-block-woocommerce-checkout .wc-block-components-shipping-rates-control__package--multiple,
.wp-block-woocommerce-checkout .wc-block-components-local-pickup-select--multiple,
.wp-block-woocommerce-checkout .wc-block-components-radio-control--highlight-checked {
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	padding: 0 !important;
}

.wp-block-woocommerce-checkout .wc-block-components-radio-control--highlight-checked:after,
.wp-block-woocommerce-checkout .wc-block-components-radio-control__option:after,
.wp-block-woocommerce-checkout .wc-block-components-radio-control-accordion-option:after {
	display: none !important;
}

.wp-block-woocommerce-checkout .wc-block-components-radio-control__option,
.wp-block-woocommerce-checkout .wc-block-components-radio-control-accordion-option,
.wp-block-woocommerce-checkout .wc-block-components-local-pickup-rates-control .wc-block-components-radio-control__option {
	border: 1px solid var(--code-order-border) !important;
	border-radius: 16px !important;
	background: #fff !important;
	box-shadow: none !important;
}

.wp-block-woocommerce-checkout .wc-block-components-radio-control__option--checked-option-highlighted,
.wp-block-woocommerce-checkout .wc-block-components-radio-control-accordion-option--checked-option-highlighted,
.wp-block-woocommerce-checkout .wc-block-components-radio-control__option[aria-checked="true"] {
	border-color: color-mix(in srgb, var(--code-order-primary) 35%, var(--code-order-border)) !important;
	background: linear-gradient(180deg, rgba(111, 0, 255, 0.04), rgba(111, 0, 255, 0.01)) !important;
	box-shadow: 0 0 0 4px var(--code-order-primary-soft) !important;
}

.wp-block-woocommerce-checkout .wc-block-components-radio-control__label {
	color: var(--code-order-text) !important;
	font-weight: 600 !important;
}

.wp-block-woocommerce-checkout.is-code-order-dine-in .wc-block-components-checkout-step--shipping-methods .wc-block-components-checkout-step__description::after {
	content: " \00B7 Table service" !important;
	color: var(--code-order-primary) !important;
	font-weight: 700 !important;
}

@media (max-width: 781px) {
	.wp-block-woocommerce-checkout {
		padding-top: calc(16px + var(--code-order-logo-offset)) !important;
	}

	.wp-block-woocommerce-checkout .code-order-checkout-logo-link {
		top: 16px !important;
		width: clamp(112px, 42vw, 160px) !important;
	}

	.wp-block-woocommerce-checkout .wc-block-components-checkout-step,
	.wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block {
		border-radius: 18px !important;
	}

	.wp-block-woocommerce-checkout .wc-block-components-checkout-step {
		padding: 18px !important;
	}

	.wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block {
		padding: 14px !important;
	}
}
