/*
 * WooCommerce Cart and Checkout visual foundation.
 *
 * WooCommerce remains the only source of product, variation, quantity, price,
 * shipping, tax, payment and total data. This file changes presentation only.
 */

:where(.woocommerce-cart, .woocommerce-checkout) {
	--pp-commerce-gutter: clamp(20px, 4vw, 32px);
	background: var(--wp--preset--color--cream-100);
	color: var(--wp--preset--color--ink);
}

body.woocommerce-checkout,
body.woocommerce-checkout :where(button, input, select, textarea) {
	font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-weight: 400;
}

body.woocommerce-checkout header.wp-block-template-part {
	background: color-mix(in srgb, var(--wp--preset--color--cream-100) 94%, white);
	border-bottom: 1px solid rgb(93 58 130 / 12%);
}

body.woocommerce-checkout header.wp-block-template-part > header > .wp-block-group,
body.woocommerce-checkout .pp-site-header .pp-header__inner {
	align-items: center;
	box-sizing: border-box;
	display: flex;
	gap: clamp(10px, 2.2vw, 24px);
	justify-content: space-between;
	min-height: 64px;
	padding-block: 10px !important;
}

body.woocommerce-checkout :where(.pp-primary-navigation--desktop, .pp-primary-navigation--mobile) {
	display: none !important;
}

body.woocommerce-checkout :where(.wp-block-site-title, .pp-brand, .pp-brand__home, .pp-brand__market) {
	margin-block: 0;
}

body.woocommerce-checkout .pp-checkout-header-secure {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--wp--preset--color--purple-900);
	font-size: 0.84rem;
	font-weight: 650;
	letter-spacing: 0.01em;
	line-height: 1.2;
	white-space: nowrap;
}

.pp-checkout-header-lock,
.pp-checkout-trust-lock {
	border: 1.8px solid currentColor;
	border-radius: 3px;
	box-sizing: border-box;
	display: inline-block;
	flex: 0 0 auto;
	height: 11px;
	position: relative;
	width: 13px;
}

.pp-checkout-header-lock::before,
.pp-checkout-trust-lock::before {
	border: 1.8px solid currentColor;
	border-bottom: 0;
	border-radius: 8px 8px 0 0;
	box-sizing: border-box;
	content: "";
	height: 7px;
	left: 2px;
	position: absolute;
	top: -7px;
	width: 7px;
}

body.woocommerce-checkout .wc-block-cart-link {
	align-items: center;
	display: inline-flex;
	justify-content: center;
	min-height: 44px;
	min-width: 44px;
}

body.woocommerce-checkout :where(footer.wp-block-template-part, .pp-site-footer) {
	display: none;
}

:where(.woocommerce-cart, .woocommerce-checkout) main {
	box-sizing: border-box;
	margin-inline: auto;
	max-width: 1264px;
	padding: clamp(52px, 7vw, 88px) var(--pp-commerce-gutter) clamp(72px, 9vw, 112px);
	width: 100%;
}

:where(.woocommerce-cart, .woocommerce-checkout) main :where(.wp-block-post-title, .pp-checkout-title) {
	color: var(--wp--preset--color--purple-900);
	font-size: clamp(2.5rem, 5vw, 4.6rem);
	letter-spacing: -0.05em;
	line-height: 0.98;
	margin-block: 0 clamp(32px, 5vw, 56px);
	scroll-margin-top: 116px;
}

body.woocommerce-checkout main .pp-checkout-title {
	font-family: inherit;
	font-size: clamp(3rem, 4.2vw, 3.5rem);
	font-weight: 750;
	letter-spacing: -0.045em;
	line-height: 1.04;
	margin-block-end: clamp(28px, 4vw, 42px);
}

:where(.woocommerce-cart, .woocommerce-checkout) .entry-content,
:where(.woocommerce-cart, .woocommerce-checkout) .wp-block-post-content {
	margin-block-start: 0;
}

:where(.woocommerce-cart, .woocommerce-checkout) :where(.wc-block-cart, .wc-block-checkout) {
	box-sizing: border-box;
	margin-block: 0;
	max-width: 100%;
	width: 100%;
}

:where(.woocommerce-cart, .woocommerce-checkout) :where(.wc-block-cart, .wc-block-checkout),
:where(.woocommerce-cart, .woocommerce-checkout) :where(.wc-block-cart, .wc-block-checkout) * {
	box-sizing: border-box;
	min-width: 0;
}

.woocommerce-cart .wc-block-components-sidebar-layout.wc-block-cart,
.woocommerce-checkout .wc-block-components-sidebar-layout.wc-block-checkout {
	display: grid;
	gap: clamp(24px, 3vw, 40px);
	align-items: start;
}

.woocommerce-cart .wc-block-components-sidebar-layout.wc-block-cart {
	grid-template-columns: minmax(0, 1fr) minmax(300px, 360px);
}

.woocommerce-checkout .wc-block-components-sidebar-layout.wc-block-checkout {
	grid-template-columns: minmax(0, 1fr) minmax(320px, 390px);
}

:where(.woocommerce-cart, .woocommerce-checkout) :where(.wc-block-cart__main, .wc-block-cart__sidebar, .wc-block-checkout__main, .wc-block-checkout__sidebar) {
	box-sizing: border-box;
	flex-basis: auto !important;
	float: none;
	margin-inline: 0;
	max-width: 100% !important;
	min-width: 0;
	width: 100% !important;
}

body.woocommerce-cart .wc-block-components-sidebar-layout.wc-block-cart > :where(.wc-block-cart__main, .wc-block-cart__sidebar),
body.woocommerce-checkout .wc-block-components-sidebar-layout.wc-block-checkout > :where(.wc-block-checkout__main, .wc-block-checkout__sidebar) {
	inline-size: auto !important;
	justify-self: stretch !important;
	max-inline-size: none !important;
	width: auto !important;
}

/* Shared cards and summaries. */
:where(.woocommerce-cart, .woocommerce-checkout) :where(
	.wc-block-cart__main,
	.wc-block-cart__sidebar,
	.wc-block-checkout__main,
	.wc-block-checkout__sidebar,
	.wc-block-components-checkout-step,
	.wc-block-components-totals-wrapper
) {
	border-color: rgb(93 58 130 / 16%);
}

:where(.woocommerce-cart, .woocommerce-checkout) :where(.wc-block-cart__sidebar, .wc-block-checkout__sidebar) {
	background: var(--wp--preset--color--white);
	border: 1px solid rgb(93 58 130 / 16%);
	border-radius: 20px;
	box-shadow: 0 18px 48px rgb(52 32 79 / 8%);
	padding: clamp(20px, 3vw, 30px);
}

body.woocommerce-checkout .wc-block-checkout__sidebar {
	box-shadow: 0 20px 52px rgb(52 32 79 / 9%);
	position: sticky;
	top: 84px;
}

:where(.woocommerce-cart, .woocommerce-checkout) :where(.wc-block-components-title, .wc-block-components-checkout-step__title, .wc-block-cart-items__header, .wc-block-components-totals-item__label) {
	color: var(--wp--preset--color--purple-900);
}

:where(.woocommerce-cart, .woocommerce-checkout) .wc-block-components-totals-footer-item {
	border-top: 2px solid var(--wp--preset--color--purple-900);
	font-size: 1.05rem;
	font-weight: 750;
	padding-block-start: 20px;
}

:where(.woocommerce-cart, .woocommerce-checkout) :where(.wc-block-components-formatted-money-amount, .wc-block-cart-item__total-price-and-sale-badge-wrapper, .wc-block-components-product-price) {
	font-variant-numeric: tabular-nums;
}

/* Cart line items and native quantity controls. */
.woocommerce-cart .wc-block-cart-items {
	background: var(--wp--preset--color--white);
	border: 1px solid rgb(93 58 130 / 16%);
	border-collapse: separate;
	border-radius: 20px;
	border-spacing: 0;
	overflow: visible;
	width: 100%;
}

.woocommerce-cart .wc-block-cart-items td {
	border-color: rgb(93 58 130 / 12%);
	padding: clamp(18px, 3vw, 28px);
}

.woocommerce-cart .wc-block-components-product-name {
	color: var(--wp--preset--color--purple-900);
	font-size: 1.05rem;
	font-weight: 750;
	line-height: 1.35;
	overflow-wrap: anywhere;
}

.woocommerce-cart .wc-block-cart-item__image img {
	width: 100%;
	aspect-ratio: 1;
	object-fit: contain;
	border-radius: 12px;
	background: var(--wp--preset--color--cream-100);
}

.woocommerce-cart .wc-block-components-product-metadata {
	color: var(--wp--preset--color--muted);
}

.woocommerce-cart .wc-block-components-quantity-selector {
	border-color: rgb(93 58 130 / 28%);
	border-radius: 12px;
	min-height: 44px;
}

.woocommerce-cart .wc-block-components-quantity-selector__button {
	min-height: 44px;
	min-width: 44px;
}

.woocommerce-cart .wc-block-cart-item__remove-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--wp--preset--color--purple-700);
	font-weight: 700;
	min-height: 44px;
	min-width: 44px;
	text-decoration: underline;
	text-underline-offset: 4px;
}

/* Empty cart: the official Empty Cart block keeps the state decision. */
.woocommerce-cart .wp-block-woocommerce-empty-cart-block {
	background:
		radial-gradient(circle at 86% 18%, rgb(246 217 107 / 24%), transparent 25%),
		linear-gradient(135deg, var(--wp--preset--color--white), var(--wp--preset--color--lilac-100));
	border: 1px solid rgb(93 58 130 / 16%);
	border-radius: 24px;
	box-shadow: 0 24px 60px rgb(52 32 79 / 9%);
	box-sizing: border-box;
	margin-inline: auto;
	max-width: 820px;
	padding: clamp(48px, 8vw, 88px) clamp(24px, 7vw, 72px);
	text-align: center;
}

.woocommerce-cart .wc-block-cart__empty-cart__title {
	color: var(--wp--preset--color--purple-900);
	font-size: clamp(2rem, 5vw, 3.6rem);
	letter-spacing: -0.04em;
	line-height: 1.05;
	margin-block: 0 18px;
}

.woocommerce-cart .wc-block-cart__empty-cart__title.with-empty-cart-icon::before {
	display: none;
}

.woocommerce-cart .pp-empty-cart__message {
	color: var(--wp--preset--color--muted);
	font-size: clamp(1rem, 1.7vw, 1.15rem);
	margin-inline: auto;
	max-width: 600px;
}

.woocommerce-cart .pp-empty-cart__actions {
	justify-content: center;
	margin-block-start: 30px;
}

/* Checkout fields and validation retain WooCommerce behaviour. */
.woocommerce-checkout .wc-block-components-checkout-step {
	background: var(--wp--preset--color--white);
	border: 1px solid rgb(93 58 130 / 13%);
	border-radius: 18px;
	box-shadow: 0 10px 30px rgb(52 32 79 / 4%);
	box-sizing: border-box;
	margin-block-end: 18px;
	padding: clamp(20px, 4vw, 32px);
}

.woocommerce-checkout .wc-block-components-checkout-step__title {
	font-family: inherit;
	font-size: clamp(1.125rem, 1.7vw, 1.25rem);
	font-weight: 650;
	letter-spacing: -0.015em;
	line-height: 1.3;
}

.woocommerce-checkout :where(
	.wc-block-components-text-input label,
	.wc-blocks-components-select__label,
	.wc-block-components-checkbox__label,
	.wc-block-components-radio-control__label,
	.wc-block-components-radio-control__secondary-label
) {
	font-weight: 550;
}

.woocommerce-checkout .wc-block-components-checkout-step__heading {
	margin-block-end: 20px;
}

.woocommerce-checkout :where(
	.wc-block-components-address-form,
	.wc-block-components-checkout-step__container,
	.wc-block-components-checkout-step__content,
	.wc-block-components-order-summary,
	.wc-block-components-order-summary-item,
	.wc-block-components-order-summary-item__description,
	.wc-block-components-totals-item,
	.wc-block-components-panel,
	.wc-block-components-panel__content
) {
	max-width: 100%;
	min-width: 0;
}

.woocommerce-checkout :where(.wc-block-components-order-summary-item__description, .wc-block-components-product-name, .wc-block-components-product-metadata) {
	overflow-wrap: anywhere;
	word-break: normal;
}

.woocommerce-checkout .wc-block-components-order-summary-item__image {
	align-self: center;
	flex: 0 0 84px;
	height: 84px;
	width: 84px;
}

body.woocommerce-checkout .wc-block-components-order-summary-item {
	align-items: start;
	column-gap: 14px;
	display: grid;
	grid-template-columns: 84px minmax(0, 1fr) max-content;
	grid-template-rows: auto;
}

body.woocommerce-checkout .wc-block-components-order-summary-item__image {
	grid-column: 1;
	grid-row: 1 / span 2;
}

body.woocommerce-checkout .wc-block-components-order-summary-item__description {
	grid-column: 2;
	grid-row: 1;
	padding-inline: 0;
}

body.woocommerce-checkout .wc-block-components-order-summary-item__total-price {
	align-self: start;
	font-weight: 750;
	grid-column: 3;
	grid-row: 1;
	white-space: nowrap;
}

body.woocommerce-checkout .wc-block-components-order-summary-item__description .wc-block-cart-item__prices {
	display: none;
}

body.woocommerce-checkout .wc-block-components-order-summary-item .wc-block-components-product-name {
	color: var(--wp--preset--color--purple-900);
	font-family: inherit;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.35;
	margin: 0 0 8px;
}

body.woocommerce-checkout .wc-block-components-order-summary-item .wc-block-components-product-metadata {
	display: flex;
	flex-direction: column;
	gap: 5px;
	margin-block-start: 0;
}

body.woocommerce-checkout .wc-block-components-order-summary-item .wc-block-components-product-details {
	color: var(--wp--preset--color--muted);
	display: block;
	font-size: 0.8rem;
	line-height: 1.45;
}

body.woocommerce-checkout .wc-block-components-order-summary-item .wc-block-components-product-details:last-child {
	color: var(--wp--preset--color--purple-700);
	font-size: 0.75rem;
	font-weight: 750;
	letter-spacing: 0.045em;
	order: -1;
	text-transform: uppercase;
}

.woocommerce-checkout .wc-block-components-order-summary .wc-block-components-order-summary-item__image > img {
	background: var(--wp--preset--color--cream-100);
	border: 1px solid rgb(93 58 130 / 14%);
	border-radius: 14px;
	box-sizing: border-box;
	display: block;
	height: 84px;
	max-width: 84px;
	object-fit: contain;
	padding: 5px;
	width: 84px;
}

.woocommerce-checkout :where(.wc-block-components-text-input input, .wc-block-components-combobox-control input, .wc-block-components-textarea) {
	background: var(--wp--preset--color--white);
	border-color: rgb(93 58 130 / 30%);
	border-radius: 12px;
	box-sizing: border-box;
	font: inherit;
	min-height: 50px;
	width: 100%;
}

.woocommerce-checkout :where(.wc-block-components-text-input input, .wc-block-components-combobox-control input, .wc-block-components-textarea, .wc-blocks-components-select__select):focus-visible {
	border-color: var(--wp--preset--color--purple-700);
	box-shadow: 0 0 0 3px rgb(93 58 130 / 14%);
	outline: 2px solid var(--wp--preset--color--gold-500);
	outline-offset: 1px;
}

body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__option,
body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option {
	background: rgb(255 255 255 / 88%);
	border: 1px solid rgb(93 58 130 / 16%);
	border-radius: 14px;
	box-shadow: 0 7px 20px rgb(52 32 79 / 3%);
}

body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__option-checked,
body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option--checked-option-highlighted {
	background: color-mix(in srgb, var(--wp--preset--color--lilac-100) 72%, white);
	border-color: var(--wp--preset--color--purple-700);
	box-shadow: 0 8px 22px rgb(52 32 79 / 6%);
}

body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control__option {
	background: transparent;
	border: 0;
	border-radius: 0;
	min-height: 68px;
	padding-block: 14px;
}

body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-content {
	background: transparent;
	margin: 0;
	padding: 0 20px 18px 52px;
}

body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-content p {
	color: var(--wp--preset--color--muted);
	font-size: 0.92rem;
	line-height: 1.5;
	margin: 0;
}

body.woocommerce-checkout .wc-block-components-payment-method-label {
	align-items: center;
	display: grid;
	font-weight: 650;
	gap: 12px;
	grid-template-columns: minmax(0, 1fr) max-content;
	width: 100%;
}

body.woocommerce-checkout .pp-paynow-logo {
	display: block;
	height: auto;
	max-width: 100%;
	object-fit: contain;
	width: 88px;
}

body.woocommerce-checkout .wc-block-checkout__actions {
	margin-block-start: 0;
}

body.woocommerce-checkout .pp-checkout-trust {
	color: var(--wp--preset--color--muted);
	font-size: 0.88rem;
	line-height: 1.45;
	margin-block-start: 14px;
	text-align: center;
}

body.woocommerce-checkout .pp-checkout-trust p {
	margin: 0;
}

body.woocommerce-checkout .pp-checkout-trust p + p {
	margin-block-start: 3px;
}

body.woocommerce-checkout .pp-checkout-trust-lock {
	color: var(--wp--preset--color--purple-700);
	height: 10px;
	margin-inline-end: 8px;
	width: 12px;
}

.woocommerce-checkout .wc-block-components-textarea {
	min-height: 120px;
}

.woocommerce-checkout :where(.wc-block-components-validation-error, .wc-block-components-notice-banner.is-error, .woocommerce-error) {
	background: rgb(179 38 30 / 7%);
	border-color: var(--wp--preset--color--error);
	border-radius: 12px;
	box-sizing: border-box;
	color: var(--wp--preset--color--error);
	max-width: 100%;
	overflow-wrap: anywhere;
}

/* Official WooCommerce primary actions. */
:where(.woocommerce-cart, .woocommerce-checkout) :where(
	.wc-block-cart__submit-button,
	.wc-block-components-checkout-place-order-button,
	.wc-block-components-button,
	.wp-block-button__link
) {
	align-items: center;
	box-sizing: border-box;
	display: inline-flex;
	justify-content: center;
	min-height: 48px;
}

:where(.woocommerce-cart, .woocommerce-checkout) :where(.wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button) {
	background: var(--wp--preset--color--purple-700);
	border-radius: 999px;
	color: var(--wp--preset--color--white);
	font-weight: 750;
}

body.woocommerce-checkout .wc-block-components-checkout-place-order-button {
	background: var(--wp--preset--color--purple-900) !important;
	border: 2px solid var(--wp--preset--color--purple-900) !important;
	border-radius: 14px;
	box-shadow: 0 12px 28px rgb(52 32 79 / 20%);
	color: var(--wp--preset--color--white) !important;
	cursor: pointer;
	font-size: 1rem;
	font-weight: 800;
	letter-spacing: 0.035em;
	line-height: 1.2;
	margin-block-start: 18px;
	min-height: 60px;
	padding: 14px 24px;
	text-transform: uppercase;
	transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
	width: 100%;
}

body.woocommerce-checkout .wc-block-components-checkout-place-order-button :where(span, div) {
	color: inherit !important;
	font: inherit;
	letter-spacing: inherit;
	text-transform: inherit;
}

body.woocommerce-checkout .wc-block-components-checkout-place-order-button:hover:not(:disabled):not([aria-disabled="true"]) {
	background: #251638 !important;
	border-color: #251638 !important;
	box-shadow: 0 14px 32px rgb(52 32 79 / 26%);
	transform: translateY(-1px);
}

body.woocommerce-checkout .wc-block-components-checkout-place-order-button:focus-visible {
	outline: 3px solid var(--wp--preset--color--gold-500);
	outline-offset: 3px;
}

body.woocommerce-checkout .wc-block-components-checkout-place-order-button:is(:disabled, [aria-disabled="true"]) {
	background: #735d8b !important;
	border-color: #735d8b !important;
	box-shadow: none;
	color: var(--wp--preset--color--white) !important;
	cursor: not-allowed;
	opacity: 1;
	transform: none;
}

body.woocommerce-checkout .wc-block-components-checkout-place-order-button:is(.is-loading, [aria-busy="true"]) {
	box-shadow: none;
	cursor: progress;
	pointer-events: none;
}

body.woocommerce-cart .wc-block-cart__submit-button {
	width: 100%;
	min-height: 52px;
	border: 2px solid var(--wp--preset--color--purple-700) !important;
	background: var(--wp--preset--color--purple-700) !important;
	box-shadow: 0 10px 24px rgb(52 32 79 / 14%);
	color: var(--wp--preset--color--white) !important;
}

body.woocommerce-cart .wc-block-cart__submit-button :where(span, div) {
	color: inherit !important;
}

:where(.woocommerce-cart, .woocommerce-checkout) :where(a, button, input, select, textarea):focus-visible {
	outline: 3px solid var(--wp--preset--color--purple-700);
	outline-offset: 3px;
}

.woocommerce-checkout :where(.wc-block-checkout__terms, .wc-block-checkout__terms a, .wc-block-checkout__privacy-policy, .wc-block-checkout__privacy-policy a) {
	line-height: 1.55;
}

.woocommerce-checkout :where(.wc-block-checkout__terms a, .wc-block-checkout__privacy-policy a) {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
}

.pp-checkout-no-payment-methods .wc-block-components-checkout-place-order-button:disabled {
	background: #735d8b !important;
	border-color: #735d8b !important;
	cursor: not-allowed;
	opacity: 1;
}

.pp-checkout-payment-unavailable {
	margin-block: 18px;
	padding: 16px 18px;
	border: 1px solid rgb(154 100 27 / 32%);
	border-radius: 12px;
	background: var(--wp--preset--color--cream-100);
	color: var(--wp--preset--color--ink);
}

.pp-checkout-payment-unavailable p {
	margin: 0;
}

.pp-checkout-payment-unavailable a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	font-weight: 750;
}

@media (max-width: 1100px) {
	:where(.woocommerce-cart, .woocommerce-checkout) main {
		padding-block-start: 44px;
	}

	:where(.woocommerce-cart, .woocommerce-checkout) main :where(.wp-block-post-title, .pp-checkout-title) {
		scroll-margin-top: 96px;
	}

	.woocommerce-cart .wc-block-components-sidebar-layout.wc-block-cart,
	.woocommerce-checkout .wc-block-components-sidebar-layout.wc-block-checkout {
		grid-template-columns: minmax(0, 1fr);
	}

	:where(.woocommerce-cart, .woocommerce-checkout) :where(.wc-block-cart__main, .wc-block-cart__sidebar, .wc-block-checkout__main, .wc-block-checkout__sidebar) {
		margin-inline: 0;
		width: 100%;
	}

	:where(.woocommerce-cart, .woocommerce-checkout) :where(.wc-block-cart__sidebar, .wc-block-checkout__sidebar) {
		margin-block-start: 24px;
	}

	body.woocommerce-checkout .wc-block-checkout__sidebar {
		position: static;
	}

	.woocommerce-cart .wc-block-cart-items td {
		padding: 18px 14px;
	}

	.woocommerce-cart .wc-block-cart-item__image {
		width: 72px;
	}

	.woocommerce-checkout .wc-block-components-checkout-step {
		padding: 20px;
	}

}

@media (max-width: 620px) {
	:where(.woocommerce-cart, .woocommerce-checkout) {
		--pp-commerce-gutter: 16px;
	}

	:where(.woocommerce-cart, .woocommerce-checkout) main {
		padding-block-start: 28px;
	}

	:where(.woocommerce-cart, .woocommerce-checkout) main :where(.wp-block-post-title, .pp-checkout-title) {
		font-size: clamp(2rem, 12vw, 3rem);
		letter-spacing: -0.035em;
		line-height: 1.05;
	}

	body.woocommerce-checkout main .pp-checkout-title {
		font-size: clamp(2.25rem, 10.5vw, 2.625rem);
		font-weight: 750;
		letter-spacing: -0.04em;
		line-height: 1.06;
		margin-block-end: 24px;
	}

	:where(.woocommerce-cart, .woocommerce-checkout) :where(.wc-block-cart__sidebar, .wc-block-checkout__sidebar) {
		padding: 18px;
	}

	.woocommerce-cart .wc-block-cart-items td {
		padding: 16px 10px;
	}

	.woocommerce-cart .wc-block-cart-item__image {
		width: 64px;
	}

	.woocommerce-checkout .wc-block-components-checkout-step {
		padding: 18px 14px;
	}

	.woocommerce-checkout .wc-block-components-order-summary-item__image {
		flex-basis: 70px;
		height: 70px;
		width: 70px;
	}

	.woocommerce-checkout .wc-block-components-order-summary .wc-block-components-order-summary-item__image > img {
		height: 70px;
		max-width: 70px;
		padding: 4px;
		width: 70px;
	}

	body.woocommerce-checkout .wc-block-components-checkout-place-order-button {
		min-height: 58px;
		padding-inline: 18px;
	}

	.woocommerce-checkout .wc-block-components-checkbox {
		padding-inline: 0;
	}
}

@media (max-width: 767px) {
	body.woocommerce-checkout header.wp-block-template-part > header > .wp-block-group,
	body.woocommerce-checkout .pp-site-header .pp-header__inner {
		gap: 8px;
		min-height: 58px;
		padding-inline: 14px !important;
	}

	body.woocommerce-checkout :where(.wp-block-site-title, .pp-brand__name) {
		font-size: 0.88rem;
		line-height: 1.1;
	}

	body.woocommerce-checkout .pp-brand__market {
		font-size: 0.58rem;
	}

	body.woocommerce-checkout .pp-checkout-header-secure {
		font-size: 0.72rem;
		gap: 6px;
	}

	body.woocommerce-checkout .wc-block-cart-link {
		min-height: 40px;
		min-width: 40px;
	}

	body.woocommerce-checkout .wc-block-components-sidebar-layout.wc-block-checkout {
		gap: 0;
	}

	body.woocommerce-checkout .wc-block-checkout__sidebar {
		border-radius: 16px;
		margin-block: 0 22px;
		padding: 0;
	}

	body.woocommerce-checkout .wc-block-components-checkout-order-summary__title {
		box-sizing: border-box;
		min-height: 60px;
		padding: 14px 16px;
	}

	body.woocommerce-checkout .wc-block-components-checkout-order-summary__title-text,
	body.woocommerce-checkout .wc-block-components-checkout-order-summary__title-price {
		font-size: 0.95rem;
		font-weight: 700;
	}

	body.woocommerce-checkout .wc-block-components-checkout-order-summary__content {
		border-top: 1px solid rgb(93 58 130 / 12%);
		padding: 16px;
	}

	body.woocommerce-checkout .wc-block-checkout__actions .checkout-order-summary-block-fill-wrapper {
		display: none !important;
	}

	body.woocommerce-checkout .wc-block-checkout__terms {
		margin-block-end: 0;
	}

	body.woocommerce-checkout .wc-block-components-order-summary-item {
		grid-template-columns: 70px minmax(0, 1fr);
		row-gap: 8px;
	}

	body.woocommerce-checkout .wc-block-components-order-summary-item__total-price {
		grid-column: 2;
		grid-row: 2;
		justify-self: start;
	}

	body.woocommerce-checkout .wc-block-components-order-summary-item__description {
		grid-column: 2;
	}

	body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control__option {
		min-height: 72px;
	}

	body.woocommerce-checkout .wc-block-components-payment-method-label {
		gap: 10px;
	}

	body.woocommerce-checkout .pp-paynow-logo {
		width: 76px;
	}

	body.woocommerce-checkout .pp-checkout-trust {
		font-size: 0.84rem;
		padding-inline: 8px;
	}

	body.woocommerce-checkout .wc-block-components-radio-control__option {
		box-sizing: border-box;
		min-height: 48px;
		padding: 16px 16px 16px 48px;
	}

	body.woocommerce-checkout :where(
		.wc-block-components-radio-control__option-layout,
		.wc-block-components-radio-control__label-group,
		.wc-block-components-radio-control__label,
		.wc-block-components-radio-control__secondary-label
	) {
		min-width: 0;
	}

	body.woocommerce-checkout .wc-block-components-shipping-rates-control__package .wc-block-components-radio-control__label-group {
		display: grid;
		grid-template-columns: minmax(0, 1fr) max-content;
		gap: 12px;
	}

	body.woocommerce-checkout .wc-block-components-shipping-rates-control__package :where(
		.wc-block-components-radio-control__label,
		.wc-block-components-radio-control__secondary-label
	) {
		flex-basis: auto;
		overflow-wrap: anywhere;
	}

	body.woocommerce-checkout .wc-block-components-shipping-rates-control__package .wc-block-components-radio-control__secondary-label {
		white-space: nowrap;
	}

	body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-content {
		box-sizing: border-box;
		min-width: 0;
		overflow-wrap: anywhere;
		padding-inline: 48px 16px;
	}
}

@media (max-width: 420px) {
	.woocommerce-cart .wp-block-woocommerce-empty-cart-block {
		padding: 44px 20px;
	}

	.woocommerce-cart .pp-empty-cart__actions,
	.woocommerce-cart .pp-empty-cart__actions .wp-block-button,
	.woocommerce-cart .pp-empty-cart__actions .wp-block-button__link {
		width: 100%;
	}

	.woocommerce-cart .wc-block-components-quantity-selector {
		max-width: 140px;
	}
}

@media (prefers-reduced-motion: reduce) {
	:where(.woocommerce-cart, .woocommerce-checkout) *,
	:where(.woocommerce-cart, .woocommerce-checkout) *::before,
	:where(.woocommerce-cart, .woocommerce-checkout) *::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
	}
}
