/* Allocation helpers remain real accounting lines, never separate purchases. */
.hsc-c05-allocation,
.hsc-cart-layout .wc-block-cart-items__row.hsc-c05-allocation,
.wc-block-cart-items__row.hsc-c05-allocation,
.wc-block-components-order-summary-item.hsc-c05-allocation {
	display: none !important;
}

/* Actual grouped amounts use Woo's native, labelled item_data fields. The
 * zero-valued parent price/sale badge and checkout's separate zero-valued
 * screen-reader subtotal must not override that accessible price information. */
.hsc-c05-parent .wc-block-components-product-price,
.hsc-c05-parent .wc-block-cart-item__total-price-and-sale-badge-wrapper,
.wc-block-components-order-summary-item.hsc-c05-parent > .screen-reader-text {
	display: none !important;
}

/* Woo's table rule otherwise reduces this collection title to 14px. */
table.wc-block-cart-items .wc-block-cart-items__row.hsc-c05-parent .wc-block-components-product-name {
	font-size: clamp(1.18rem, 1.04rem + .3vw, 1.4rem);
	font-weight: 600;
	line-height: 1.15;
	text-decoration: none;
}

.hsc-c05-parent .hsc-c05-price-line {
	display: block;
	margin-top: .3em;
	font-size: .9375rem;
	line-height: 1.5;
	font-weight: 400;
	font-variant-numeric: tabular-nums;
	overflow-wrap: anywhere;
}

.hsc-c05-parent .hsc-c05-price-line .wc-block-components-product-details__name {
	font-weight: 600;
}

/* Woo separates ordinary metadata with slashes. Each price is its own line. */
.hsc-c05-parent .hsc-c05-price-line > span[aria-hidden="true"] {
	display: none;
}

.hsc-c05-parent .hsc-c05-price-subtotal,
.hsc-c05-parent .hsc-c05-price-total {
	font-weight: 600;
}

/* No stale values during exposed quantity/coupon operations. Other item
 * metadata stays intact. The only visible native-price text is the status. */
.hsc-c05-parent.hsc-c05-updating .hsc-c05-price-line,
.hsc-c05-parent.hsc-c05-updating .wc-block-cart-item__prices .wc-block-components-product-price > * {
	display: none !important;
}

.hsc-c05-parent.hsc-c05-updating .wc-block-cart-item__prices .wc-block-components-product-price {
	display: block !important;
	font-size: .9375rem;
	line-height: 1.5;
	font-weight: 400;
	overflow-wrap: anywhere;
}

/* Cart and checkout presentation. Scope these overrides to the managed Woo
 * blocks; allocation amounts, pending states and payment-provider UI above
 * remain independent of this visual treatment. */
.hsc-cart-layout .wc-block-cart .wc-block-cart__submit-button {
	min-height: 48px !important;
	padding: .8rem 1.25rem;
	border: 1px solid var(--hsc-color-pine, #173f34);
	border-radius: var(--hsc-radius-pill, 999px) !important;
	background: var(--hsc-color-pine, #173f34) !important;
	color: #fff !important;
	font-family: var(--hsc-font-body, sans-serif);
	font-size: 1rem;
	font-weight: 750;
	line-height: 1.25;
	text-decoration: none;
}

.hsc-cart-layout .wc-block-cart .wc-block-cart__submit-button:hover:not([aria-disabled="true"]) {
	border-color: #0f3229;
	background: #0f3229 !important;
}

.hsc-cart-layout .wc-block-cart .wc-block-cart__submit-button:focus-visible {
	outline: 3px solid var(--hsc-color-pine, #173f34);
	outline-offset: 3px;
}

/* Woo's table selector otherwise wins over the general Site Core heading. */
.hsc-cart-layout table.wc-block-cart-items .wc-block-cart-item__product .wc-block-components-product-name {
	font-family: var(--hsc-font-display, Georgia, serif);
	font-size: clamp(1.18rem, 1.04rem + .3vw, 1.4rem);
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
}

.hsc-cart-layout table.wc-block-cart-items .wc-block-cart-item__product :is(.wc-block-cart-item__prices, .wc-block-components-product-metadata) {
	font-size: .9375rem;
	line-height: 1.5;
}

.hsc-cart-layout table.wc-block-cart-items .wc-block-components-product-metadata__description > p {
	font-size: inherit;
	line-height: inherit;
}

.hsc-cart-layout .wc-block-cart .wc-block-components-quantity-selector {
	width: 128px;
	min-height: 42px;
	border-color: #bbb4a7;
	border-radius: var(--hsc-radius-small, 10px) !important;
}

.hsc-cart-layout .wc-block-cart .wc-block-components-quantity-selector__input {
	min-width: 0;
	min-height: 40px;
	padding: 0;
	box-sizing: border-box;
	font-size: 1rem;
	line-height: 1.25;
	font-variant-numeric: tabular-nums;
}

.hsc-cart-layout .wc-block-cart .wc-block-components-quantity-selector__button {
	width: 40px;
	min-width: 40px;
	min-height: 40px;
	font-size: 1.125rem;
	line-height: 1;
}

/* Woo uses a different (plural "blocks") class for native country/state
 * selects. Preserve its floating-label padding and native keyboard behavior. */
.hsc-checkout-layout .wc-block-checkout .wc-blocks-components-select__container {
	border-radius: var(--hsc-radius-small, 10px);
}

.hsc-checkout-layout .wc-block-checkout .wc-blocks-components-select__select {
	min-height: 50px;
	padding-inline: 12px 40px;
	border: 1px solid #bbb4a7;
	border-radius: var(--hsc-radius-small, 10px);
	background-color: #fff;
	color: var(--hsc-color-ink, #30362f);
	font-family: var(--hsc-font-body, sans-serif);
	font-size: 1rem;
	box-shadow: none;
}

.hsc-checkout-layout .wc-block-checkout .wc-blocks-components-select__label {
	left: 12px;
}

.hsc-checkout-layout .wc-block-checkout .wc-blocks-components-select__select:focus {
	border-color: var(--hsc-color-pine, #173f34);
	outline: 2px solid var(--hsc-color-pine, #173f34);
	outline-offset: 2px;
}

.hsc-checkout-layout .wc-block-checkout .wc-blocks-components-select__select[aria-invalid="true"] {
	border-color: #8b3f2b;
}

/* Rounded native choice containers; selected and keyboard-focus outlines
 * stay distinct. Do not reach into Stripe or express-payment iframes. */
.hsc-checkout-layout .wc-block-checkout :is(.wc-block-components-radio-control, .wc-block-components-radio-control-accordion-option) {
	border-radius: var(--hsc-radius-small, 10px);
}

.hsc-checkout-layout .wc-block-checkout :is(.wc-block-components-radio-control__option--checked-option-highlighted, .wc-block-components-radio-control-accordion-option--checked-option-highlighted) {
	border-radius: var(--hsc-radius-small, 10px);
	box-shadow: inset 0 0 0 1px var(--hsc-color-pine, #173f34);
}

.hsc-checkout-layout .wc-block-checkout .wc-block-components-radio-control__option:focus-within {
	outline: 2px solid var(--hsc-color-pine, #173f34);
	outline-offset: 2px;
	border-radius: var(--hsc-radius-small, 10px);
}

/* Give the summary copy a wider reading area without omitting product,
 * variation, stock, shipping or price metadata. Keep Woo's small-screen stack. */
.hsc-checkout-layout .wc-block-checkout .wc-block-components-order-summary-item__description {
	min-width: 0;
	padding-left: 12px;
	padding-right: 8px;
}

.hsc-checkout-layout .wc-block-checkout .wc-block-components-product-metadata {
	font-size: .875rem;
	line-height: 1.5;
}

.hsc-checkout-layout .wc-block-checkout .wc-block-components-product-metadata__description > p {
	font-size: inherit;
	line-height: inherit;
}

@media (min-width: 1100px) {
	.hsc-checkout-layout .wc-block-checkout :is(.wc-block-checkout__sidebar, .wc-block-components-sidebar) {
		flex-basis: 400px !important;
		width: 400px !important;
		max-width: 400px !important;
	}
}
