/* ==========================================================================
   Cart & Checkout — cosmetic only; layout = WooCommerce Blocks defaults
   ========================================================================== */

.cart-page-wrap,
.checkout-page-wrap {
	background: var(--fp-white);
}

.fp-page-hero .fp-page-hero__title--plain {
	background: none !important;
	-webkit-text-fill-color: #fff !important;
	color: #fff !important;
}

.fp-page-hero__subtitle {
	font-style: normal;
	font-weight: 500;
}

.cart-page-wrap .fp-wc-page__body--cart,
.checkout-page-wrap .fp-wc-page__body--checkout {
	padding-top: clamp(40px, 5vw, 56px);
	padding-bottom: clamp(56px, 7vw, 88px);
}

/* Full width checkout/cart blocks */
.checkout-page-wrap .wp-block-woocommerce-checkout,
.checkout-page-wrap .wc-block-checkout.alignwide,
.cart-page-wrap .wp-block-woocommerce-cart,
.cart-page-wrap .wc-block-cart.alignwide {
	container-type: normal;
	width: 100%;
	max-width: 100%;
	margin-inline: 0;
}

@keyframes fp-wc-panel-in {
	from {
		opacity: 0;
		transform: translateY(18px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* ---- Two-column row: ~55% / ~35% with 10% gap ---- */
@media (min-width: 782px) {
	.cart-page-wrap .wc-block-components-sidebar-layout,
	.checkout-page-wrap .wc-block-components-sidebar-layout {
		display: grid !important;
		grid-template-columns: 55% 35% !important;
		column-gap: 10% !important;
		row-gap: 0 !important;
		justify-content: center !important;
		align-items: start !important;
		width: 100% !important;
		max-width: 100% !important;
		margin-inline: auto !important;
	}

	.cart-page-wrap .wc-block-components-sidebar-layout > .wc-block-components-main,
	.cart-page-wrap .wc-block-components-sidebar-layout > .wc-block-cart__main,
	.checkout-page-wrap .wc-block-components-sidebar-layout > .wc-block-components-main,
	.cart-page-wrap .wc-block-components-sidebar-layout > .wc-block-components-sidebar,
	.cart-page-wrap .wc-block-components-sidebar-layout > .wc-block-cart__sidebar,
	.checkout-page-wrap .wc-block-components-sidebar-layout > .wc-block-components-sidebar {
		width: 100% !important;
		max-width: none !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		margin-bottom: 0 !important;
	}

	.cart-page-wrap .wc-block-components-sidebar-layout > .wc-block-cart__sidebar,
	.cart-page-wrap .wc-block-components-sidebar-layout > .wc-block-components-sidebar {
		margin-top: var(--fp-sidebar-offset, 0px) !important;
	}

	.checkout-page-wrap .wc-block-components-sidebar-layout > .wc-block-components-sidebar {
		margin-top: var(--fp-sidebar-offset, 0px) !important;
	}
}

@media (max-width: 781px) {
	.cart-page-wrap .wc-block-components-sidebar-layout,
	.checkout-page-wrap .wc-block-components-sidebar-layout {
		display: flex !important;
		flex-direction: column !important;
		gap: 32px !important;
	}
}

/* ---- 3D elevated panels (matches product-card depth) ---- */
.cart-page-wrap .wc-block-cart__main,
.cart-page-wrap .wc-block-components-main,
.checkout-page-wrap .wc-block-components-main,
.cart-page-wrap .wc-block-cart__sidebar,
.cart-page-wrap .wc-block-components-sidebar,
.checkout-page-wrap .wc-block-components-sidebar {
	position: relative;
	background: linear-gradient(180deg, #ffffff 0%, #f9fbfd 100%);
	border: 1px solid rgba(0, 33, 55, 0.09);
	border-radius: 16px;
	overflow: hidden;
	box-shadow:
		0 1px 2px rgba(0, 33, 55, 0.04),
		0 6px 20px rgba(0, 33, 55, 0.07),
		0 18px 44px rgba(0, 33, 55, 0.06);
	transition:
		transform 0.4s cubic-bezier(0.22, 1, 0.36, 1),
		box-shadow 0.4s cubic-bezier(0.22, 1, 0.36, 1),
		border-color 0.4s ease;
}

.cart-page-wrap .wc-block-cart__main::before,
.cart-page-wrap .wc-block-components-main::before,
.checkout-page-wrap .wc-block-components-main::before,
.cart-page-wrap .wc-block-cart__sidebar::before,
.cart-page-wrap .wc-block-components-sidebar::before,
.checkout-page-wrap .wc-block-components-sidebar::before {
	content: '';
	position: absolute;
	inset: 0;
	border-radius: inherit;
	pointer-events: none;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.92);
	z-index: 1;
}

.cart-page-wrap .wc-block-cart__main:hover,
.cart-page-wrap .wc-block-components-main:hover,
.checkout-page-wrap .wc-block-components-main:hover,
.cart-page-wrap .wc-block-cart__sidebar:hover,
.cart-page-wrap .wc-block-components-sidebar:hover,
.checkout-page-wrap .wc-block-components-sidebar:hover {
	border-color: rgba(0, 163, 196, 0.22);
	transform: translateY(-4px);
	box-shadow:
		0 2px 4px rgba(0, 33, 55, 0.04),
		0 12px 32px rgba(0, 33, 55, 0.09),
		0 28px 56px rgba(0, 33, 55, 0.1),
		0 0 0 1px rgba(0, 163, 196, 0.05);
}

.cart-page-wrap .wc-block-cart__main,
.cart-page-wrap .wc-block-components-main,
.checkout-page-wrap .wc-block-components-main {
	padding: clamp(28px, 3vw, 40px);
	animation: fp-wc-panel-in 0.55s cubic-bezier(0.22, 1, 0.36, 1) backwards;
}

.cart-page-wrap .wc-block-cart__sidebar,
.cart-page-wrap .wc-block-components-sidebar,
.checkout-page-wrap .wc-block-components-sidebar {
	padding: clamp(24px, 3vw, 32px) !important;
	position: sticky;
	top: calc(var(--fp-header-height, 72px) + 24px);
	align-self: start;
}

/* Proceed to checkout / place order — inside summary card */
.cart-page-wrap .wp-block-woocommerce-cart-order-summary-block .wc-block-cart__submit-container,
.cart-page-wrap .wp-block-woocommerce-cart-order-summary-block .wp-block-woocommerce-proceed-to-checkout-block,
.cart-page-wrap .wp-block-woocommerce-cart-order-summary-block .wc-block-cart__submit,
.cart-page-wrap .wc-block-cart__totals .wc-block-cart__submit-container,
.checkout-page-wrap .wp-block-woocommerce-checkout-order-summary-block .wp-block-woocommerce-checkout-actions-block,
.checkout-page-wrap .wp-block-woocommerce-checkout-order-summary-block .wc-block-checkout__actions {
	margin-top: 20px;
	padding-top: 4px;
}

.cart-page-wrap .wp-block-woocommerce-cart-order-summary-block .wc-block-cart__submit-button,
.checkout-page-wrap .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-place-order-button {
	margin-top: 0 !important;
}

.fp-action-hidden {
	display: none !important;
}

/* Order summary inner — no double border */
.checkout-page-wrap .wp-block-woocommerce-checkout-order-summary-block,
.cart-page-wrap .wp-block-woocommerce-cart-order-summary-block {
	border: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	background: transparent !important;
}

@media (min-width: 782px) {
	.cart-page-wrap .wc-block-components-sidebar-layout .wc-block-components-main,
	.cart-page-wrap .wc-block-components-sidebar-layout .wc-block-cart__main,
	.checkout-page-wrap .wc-block-components-sidebar-layout .wc-block-components-main {
		padding: clamp(28px, 3vw, 40px) !important;
	}

	.cart-page-wrap .wc-block-components-sidebar-layout .wc-block-components-sidebar,
	.cart-page-wrap .wc-block-components-sidebar-layout .wc-block-cart__sidebar,
	.checkout-page-wrap .wc-block-components-sidebar-layout .wc-block-components-sidebar {
		padding: clamp(24px, 3vw, 32px) !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	.cart-page-wrap .wc-block-cart__main,
	.cart-page-wrap .wc-block-components-main,
	.checkout-page-wrap .wc-block-components-main,
	.cart-page-wrap .wc-block-cart__sidebar,
	.cart-page-wrap .wc-block-components-sidebar,
	.checkout-page-wrap .wc-block-components-sidebar {
		animation: none;
		transition: none;
	}

	.cart-page-wrap .wc-block-cart__main:hover,
	.cart-page-wrap .wc-block-components-main:hover,
	.checkout-page-wrap .wc-block-components-main:hover,
	.cart-page-wrap .wc-block-cart__sidebar:hover,
	.cart-page-wrap .wc-block-components-sidebar:hover,
	.checkout-page-wrap .wc-block-components-sidebar:hover {
		transform: none;
	}
}

/* ==========================================================================
   Cart table — div rows (.fp-cart-rows) synced via JS
   ========================================================================== */
.cart-page-wrap .wc-block-cart-items__header {
	display: none !important;
}

.cart-page-wrap .fp-cart-table {
	width: 100%;
	background: var(--fp-white);
	border: 1px solid var(--fp-gray-200);
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 4px 24px rgba(0, 33, 55, 0.06);
}

.cart-page-wrap .fp-cart-header {
	display: none;
}

.cart-page-wrap table.wc-block-cart-items {
	width: 100%;
	margin: 0;
}

.cart-page-wrap .wc-block-cart__main,
.cart-page-wrap .wc-block-components-main {
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	padding: 0 !important;
}

.cart-page-wrap .wc-block-cart__main::before,
.cart-page-wrap .wc-block-components-main::before {
	display: none !important;
}

.cart-page-wrap .wc-block-cart__main:hover,
.cart-page-wrap .wc-block-components-main:hover {
	transform: none !important;
	box-shadow: none !important;
}

@media (min-width: 782px) {
	.cart-page-wrap .fp-cart-header {
		display: grid;
		grid-template-columns: 2.2fr 0.9fr 1fr 0.9fr;
		gap: 16px;
		align-items: center;
		padding: 14px 24px;
		background: rgba(0, 163, 196, 0.12);
		border-bottom: 1px solid rgba(0, 163, 196, 0.2);
	}

	.cart-page-wrap .fp-cart-header__cell {
		font-size: 0.75rem;
		font-weight: 700;
		text-transform: uppercase;
		letter-spacing: 0.06em;
		color: var(--fp-navy-900);
	}

	.cart-page-wrap .fp-cart-header__cell--qty {
		text-align: center;
	}

	.cart-page-wrap .fp-cart-header__cell--total {
		text-align: right;
	}

	.cart-page-wrap .fp-cart-row {
		display: grid;
		grid-template-columns: 2.2fr 0.9fr 1fr 0.9fr;
		gap: 16px;
		align-items: center;
		padding: 20px 24px;
		border-bottom: 1px solid var(--fp-gray-100);
	}

	.cart-page-wrap .fp-cart-row:last-child {
		border-bottom: none;
	}

	.cart-page-wrap .fp-cart-row__product-inner {
		display: flex;
		align-items: center;
		gap: 16px;
		min-width: 0;
	}

	.cart-page-wrap .fp-cart-row__image {
		flex: 0 0 72px;
	}

	.cart-page-wrap .fp-cart-row__image img {
		width: 72px !important;
		height: 72px !important;
		object-fit: contain !important;
		border-radius: 10px !important;
		background: var(--fp-gray-50) !important;
		border: 1px solid var(--fp-gray-200) !important;
		padding: 6px !important;
	}

	.cart-page-wrap .fp-cart-row__details {
		flex: 1 1 auto;
		min-width: 0;
	}

	.cart-page-wrap .fp-cart-row__col--price {
		font-weight: 700;
		font-size: 0.9375rem;
		color: var(--fp-navy-900);
		white-space: nowrap;
	}

	.cart-page-wrap .fp-cart-row__col--qty {
		display: flex;
		justify-content: center;
		align-items: center;
	}

	.cart-page-wrap .fp-cart-row__col--total {
		display: flex;
		justify-content: flex-end;
		align-items: center;
		gap: 12px;
		font-weight: 700;
		font-size: 0.9375rem;
		color: var(--fp-navy-900);
	}

	.cart-page-wrap .fp-cart-row__col--total .wc-block-cart-item__remove-link {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 28px;
		height: 28px;
		color: var(--fp-gray-400);
		flex-shrink: 0;
	}

	.cart-page-wrap .fp-cart-row__col--total .wc-block-cart-item__remove-link:hover {
		color: var(--fp-red-500, #dc2626);
	}
}

.wc-block-cart-item__image img {
	width: 72px !important;
	height: 72px !important;
	object-fit: contain !important;
	border-radius: 10px !important;
	background: var(--fp-gray-50) !important;
	border: 1px solid var(--fp-gray-200) !important;
	padding: 6px !important;
}

.wc-block-components-product-name {
	font-weight: 700 !important;
	color: var(--fp-teal-600) !important;
	text-decoration: none !important;
}

.wc-block-components-product-metadata {
	font-size: 0.8125rem !important;
	color: var(--fp-gray-500) !important;
}

.wc-block-cart-item .wc-block-components-product-details__remove-button {
	display: none !important;
}

.wc-block-components-quantity-selector {
	border: 1px solid var(--fp-gray-300) !important;
	border-radius: 999px !important;
	padding: 4px !important;
}

.wc-block-components-quantity-selector__button {
	width: 32px !important;
	height: 32px !important;
	border-radius: 50% !important;
}

.wc-block-cart__totals-title,
.wc-block-components-totals-title,
.wc-block-components-order-summary__title-text {
	font-size: 1.25rem !important;
	font-weight: 700 !important;
	color: var(--fp-navy-900) !important;
	padding-bottom: 12px !important;
	margin-bottom: 16px !important;
	border-bottom: 2px solid var(--fp-teal-500) !important;
}

.wc-block-components-totals-footer-item .wc-block-formatted-money-amount {
	color: var(--fp-teal-600) !important;
	font-size: 1.5rem !important;
	font-weight: 700 !important;
}

.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button {
	width: 100% !important;
	min-height: 52px !important;
	padding: 16px 28px !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.05em !important;
	color: var(--fp-white) !important;
	background: linear-gradient(180deg, #0a2844 0%, var(--fp-navy-900) 100%) !important;
	border: none !important;
	border-radius: 999px !important;
	box-shadow:
		0 4px 14px rgba(0, 33, 55, 0.28),
		0 1px 0 rgba(255, 255, 255, 0.12) inset !important;
	transition: transform 0.25s ease, box-shadow 0.25s ease !important;
}

.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover {
	transform: translateY(-2px) !important;
	box-shadow:
		0 8px 24px rgba(0, 33, 55, 0.34),
		0 1px 0 rgba(255, 255, 255, 0.14) inset !important;
}

/* Free shipping bar */
.fp-shipping-bar {
	margin: 16px 0;
}

.fp-shipping-bar__text {
	font-size: 0.875rem;
	text-align: center;
	margin: 0 0 10px;
	color: var(--fp-gray-600);
}

.fp-shipping-bar__track {
	height: 8px;
	background: rgba(0, 33, 55, 0.08);
	border-radius: 999px;
	overflow: hidden;
}

.fp-shipping-bar__fill {
	height: 100%;
	background: var(--fp-navy-900);
	border-radius: 999px;
	transition: width 0.4s ease;
}

/* ==========================================================================
   Checkout form — label above input (standard fields)
   ========================================================================== */
.wc-block-components-checkout-step__title {
	font-size: 1.125rem !important;
	font-weight: 700 !important;
	color: var(--fp-navy-900) !important;
	margin-bottom: 18px !important;
}

.wc-block-components-checkout-step {
	padding-bottom: 24px !important;
	margin-bottom: 24px !important;
	border-bottom: 1px solid var(--fp-gray-200) !important;
}

.checkout-page-wrap .wc-block-components-text-input {
	margin-top: 16px !important;
	line-height: normal !important;
	white-space: normal !important;
	display: flex !important;
	flex-direction: column !important;
	border: none !important;
	background: transparent !important;
	box-shadow: none !important;
}

.checkout-page-wrap .wc-block-components-text-input label {
	position: static !important;
	order: -1 !important;
	transform: none !important;
	display: block !important;
	margin: 0 0 6px !important;
	padding: 0 !important;
	font-size: 0.8125rem !important;
	font-weight: 600 !important;
	color: var(--fp-navy-900) !important;
	max-width: none !important;
	overflow: visible !important;
	left: auto !important;
	top: auto !important;
	line-height: 1.4 !important;
}

.checkout-page-wrap .wc-block-components-text-input.is-active label,
.checkout-page-wrap .wc-block-components-text-input:focus-within label {
	transform: none !important;
	font-size: 0.8125rem !important;
	top: auto !important;
}

.checkout-page-wrap .wc-block-components-text-input input {
	order: 1 !important;
	width: 100% !important;
	height: 44px !important;
	min-height: 44px !important;
	max-height: none !important;
	padding: 0 14px !important;
	border: 1px solid var(--fp-gray-300) !important;
	border-radius: 10px !important;
	background: var(--fp-white) !important;
	font-size: 0.9375rem !important;
	line-height: normal !important;
	box-sizing: border-box !important;
}

.checkout-page-wrap .wc-block-components-text-input input:focus {
	outline: none !important;
	border-color: var(--fp-teal-500) !important;
	box-shadow: 0 0 0 3px rgba(0, 163, 196, 0.12) !important;
}

.checkout-page-wrap .wc-blocks-components-select {
	margin-top: 16px !important;
}

.checkout-page-wrap .wc-blocks-components-select__container {
	display: flex !important;
	flex-direction: column !important;
	border: none !important;
	background: transparent !important;
	position: relative !important;
}

.checkout-page-wrap .wc-blocks-components-select__label {
	position: static !important;
	order: -1 !important;
	transform: none !important;
	margin: 0 0 6px !important;
	padding: 0 !important;
	font-size: 0.8125rem !important;
	font-weight: 600 !important;
	color: var(--fp-navy-900) !important;
	line-height: 1.4 !important;
}

.checkout-page-wrap .wc-blocks-components-select__select {
	height: 44px !important;
	min-height: 44px !important;
	padding: 0 36px 0 14px !important;
	border: 1px solid var(--fp-gray-300) !important;
	border-radius: 10px !important;
	background: var(--fp-white) !important;
	font-size: 0.9375rem !important;
	line-height: normal !important;
	box-sizing: border-box !important;
}

.checkout-page-wrap .wc-blocks-components-select__select:focus {
	outline: none !important;
	border-color: var(--fp-teal-500) !important;
	box-shadow: 0 0 0 3px rgba(0, 163, 196, 0.12) !important;
}

.checkout-page-wrap .wc-blocks-components-select__expand {
	position: absolute !important;
	right: 8px !important;
	bottom: 10px !important;
	top: auto !important;
	transform: none !important;
	pointer-events: none;
}

.checkout-page-wrap #contact .wc-block-components-text-input:first-child,
.checkout-page-wrap .wc-block-components-address-form > .wc-block-components-text-input:first-of-type,
.checkout-page-wrap .wc-block-components-address-form > .wc-block-components-country-input:first-of-type {
	margin-top: 0 !important;
}

/* Order summary — typography only; WC handles row layout */
.wc-block-components-order-summary-item__image img {
	border-radius: 8px;
	background: var(--fp-gray-50);
	border: 1px solid var(--fp-gray-200);
}

.wc-block-components-order-summary-item__description,
.wc-block-components-order-summary-item__total-price,
.wc-block-components-order-summary-item__individual-prices {
	font-weight: 700;
	color: var(--fp-navy-900);
}

.wc-block-components-order-summary-item__quantity {
	background: var(--fp-navy-900) !important;
	color: #fff !important;
}

.wc-block-components-product-metadata__description {
	font-size: 0.75rem !important;
	color: var(--fp-gray-500) !important;
	font-weight: 400 !important;
}

/* Hide duplicate WP titles */
.wc-block-cart .wp-block-post-title,
.wc-block-checkout .wp-block-post-title,
.cart-page-wrap .entry-header,
.checkout-page-wrap .entry-header {
	display: none !important;
}

@media (max-width: 781px) {
	.wc-block-cart__sidebar,
	.wc-block-components-sidebar {
		position: static !important;
		top: auto !important;
		margin-top: 0 !important;
	}

	/* Full-width stacked layout */
	.cart-page-wrap,
	.checkout-page-wrap {
		overflow-x: clip;
	}

	.cart-page-wrap .wc-block-components-sidebar-layout,
	.checkout-page-wrap .wc-block-components-sidebar-layout {
		display: flex !important;
		flex-direction: column !important;
		gap: 24px !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	.cart-page-wrap .wc-block-components-sidebar-layout > *,
	.checkout-page-wrap .wc-block-components-sidebar-layout > * {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		flex: 1 1 100% !important;
		margin-top: 0 !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	.cart-page-wrap .wc-block-cart__sidebar,
	.cart-page-wrap .wc-block-components-sidebar,
	.checkout-page-wrap .wc-block-components-sidebar,
	.cart-page-wrap .wc-block-cart__main,
	.checkout-page-wrap .wc-block-components-main {
		position: static !important;
		width: 100% !important;
		max-width: 100% !important;
		padding: clamp(16px, 4vw, 22px) !important;
		overflow: visible !important;
		transform: none !important;
		box-sizing: border-box !important;
	}

	.cart-page-wrap .wc-block-cart__main:hover,
	.cart-page-wrap .wc-block-components-main:hover,
	.checkout-page-wrap .wc-block-components-main:hover,
	.cart-page-wrap .wc-block-cart__sidebar:hover,
	.cart-page-wrap .wc-block-components-sidebar:hover,
	.checkout-page-wrap .wc-block-components-sidebar:hover {
		transform: none !important;
	}

	.cart-page-wrap .fp-wc-page__body--cart,
	.checkout-page-wrap .fp-wc-page__body--checkout {
		padding-top: 24px;
		padding-bottom: 32px;
	}

	/* Phase 1 — Cart: disable desktop div-row layout on mobile; use native WC cart items */
	.cart-page-wrap .fp-cart-header,
	.cart-page-wrap .fp-cart-rows {
		display: none !important;
	}

	.cart-page-wrap table.wc-block-cart-items {
		display: table !important;
		width: 100% !important;
		min-width: 0 !important;
		table-layout: auto !important;
	}

	.cart-page-wrap .wc-block-cart-items thead,
	.cart-page-wrap .wc-block-cart-items__header {
		display: none !important;
	}

	.cart-page-wrap .wc-block-cart-items tr {
		display: table-row !important;
	}

	.cart-page-wrap .wc-block-cart-items td {
		display: table-cell !important;
		vertical-align: top;
		padding: 12px 8px !important;
	}

	.cart-page-wrap .wc-block-cart-item__product {
		min-width: 0 !important;
		max-width: 100% !important;
	}

	.cart-page-wrap .wc-block-cart-item__image img {
		width: 56px !important;
		height: 56px !important;
	}

	.cart-page-wrap .wc-block-components-product-name {
		word-break: break-word;
	}

	.wc-block-components-product-metadata__description {
		display: -webkit-box !important;
		-webkit-line-clamp: 2;
		-webkit-box-orient: vertical;
		overflow: hidden !important;
		max-width: 100% !important;
		word-break: break-word;
	}

	/* Phase 1 — Checkout: hide duplicate mobile accordion in main column (keep sidebar summary) */
	.checkout-page-wrap .wc-block-components-main .wp-block-woocommerce-checkout-order-summary-block,
	.checkout-page-wrap .wc-block-checkout__main .wp-block-woocommerce-checkout-order-summary-block,
	.checkout-page-wrap .wc-block-components-main .wc-block-components-order-summary--mobile,
	.checkout-page-wrap .wc-block-components-main .wc-block-components-order-summary.wc-block-components-panel,
	.checkout-page-wrap .wc-block-checkout__main .wc-block-components-order-summary.wc-block-components-panel {
		display: none !important;
	}

	/* Order summary items — full width rows */
	.wc-block-components-order-summary-item {
		display: grid !important;
		grid-template-columns: 56px minmax(0, 1fr) auto !important;
		gap: 12px !important;
		align-items: start !important;
		width: 100% !important;
		max-width: 100% !important;
		padding: 12px 0 !important;
	}

	.wc-block-components-order-summary-item__description,
	.wc-block-components-order-summary-item__individual-prices {
		min-width: 0 !important;
		max-width: 100% !important;
		word-break: break-word;
	}

	.wc-block-components-order-summary-item__total-price {
		white-space: nowrap;
	}

	/* Checkout form fields */
	.checkout-page-wrap .wc-block-components-address-card,
	.checkout-page-wrap .wc-block-components-radio-control-accordion-option {
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
		word-break: break-word;
	}

	.checkout-page-wrap .wc-block-components-text-input,
	.checkout-page-wrap .wc-block-components-text-input input,
	.checkout-page-wrap .wc-blocks-components-select,
	.checkout-page-wrap .wc-blocks-components-select__select {
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
	}

	/* Action buttons — full width, not fixed/sticky */
	.wc-block-cart__submit-container,
	.wc-block-cart__submit,
	.wp-block-woocommerce-proceed-to-checkout-block,
	.wp-block-woocommerce-checkout-actions-block,
	.wc-block-checkout__actions {
		position: static !important;
		width: 100% !important;
		max-width: 100% !important;
		margin-top: 16px !important;
		left: auto !important;
		right: auto !important;
		bottom: auto !important;
		transform: none !important;
	}

	.wc-block-cart__submit-button,
	.wc-block-components-checkout-place-order-button {
		width: 100% !important;
		max-width: 100% !important;
		min-height: 48px !important;
		box-sizing: border-box !important;
	}

	.wc-block-components-totals-footer-item .wc-block-formatted-money-amount {
		font-size: 1.25rem !important;
	}

	.fp-shipping-bar__text {
		font-size: 0.8125rem;
	}
}
