/* WooCommerce's cart and checkout blocks, brought into the design system.
   These stay as blocks because the Stripe payment form targets them. */
.wc-block-cart, .wc-block-checkout, .wp-block-woocommerce-cart, .wp-block-woocommerce-checkout { color: var(--ink); font-family: var(--text); max-width: none !important; }

.wc-block-components-title, .wc-block-components-checkout-step__title, .wc-block-cart__totals-title, .wc-block-cart-items__header {
	color: var(--ink);
	font-family: var(--text);
	font-weight: 500 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}
.wc-block-components-checkout-step__title { font-family: var(--text) !important; font-weight: 600 !important; font-size: .9375rem !important; letter-spacing: -.01em !important; }
.wc-block-components-checkout-step__description, .wc-block-components-product-metadata, .wc-block-components-totals-item__description, .wc-block-components-order-summary-item__description { color: var(--muted) !important; }

/* Fields */
.wc-block-components-text-input input, .wc-block-components-textarea, .wc-block-components-combobox .wc-block-components-combobox-control input, .wc-blocks-components-select__select, .wc-block-components-address-form select {
	background: var(--panel) !important;
	border: 1px solid var(--line-strong) !important;
	border-radius: 7px !important;
	color: var(--ink) !important;
}
.wc-block-components-text-input input:focus, .wc-blocks-components-select__select:focus { border-color: var(--ink) !important; box-shadow: none !important; outline: none !important; }
.wc-block-components-text-input label, .wc-block-components-combobox label, .wc-blocks-components-select__label { color: var(--muted) !important; }
.wc-blocks-components-select__container { background: var(--panel) !important; border-radius: .6rem; }
.wc-blocks-components-select__select option { background: var(--panel); color: var(--ink); }
.wc-blocks-components-select__expand { fill: var(--muted) !important; }
.components-form-token-field__suggestions-list, .components-combobox-control__suggestions-container, .wc-block-components-combobox .components-form-token-field__suggestions-list { background: var(--panel) !important; color: var(--ink) !important; border-color: var(--line-strong) !important; }
.components-form-token-field__suggestion.is-selected { background: var(--raised) !important; }

/* Checkbox and radio */
.wc-block-components-checkbox__input { background: var(--panel) !important; border-color: var(--line-strong) !important; }
.wc-block-components-checkbox__mark { fill: var(--ink) !important; }
.wc-block-components-radio-control__input { background: var(--panel) !important; border-color: var(--line-strong) !important; }
.wc-block-components-radio-control__input:checked::before { background: var(--ink) !important; }
.wc-block-components-radio-control-accordion-option, .wc-block-components-radio-control__option { border-color: var(--line) !important; }
.wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-content { color: var(--muted); }

/* Buttons */
.wc-block-components-button:not(.is-link), .wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button {
	min-height: 2.5rem;
	background: var(--primary) !important;
	color: #111112 !important;
	border: 0 !important;
	border-radius: 7px !important;
	font-weight: 500;
	text-decoration: none;
	transition: background-color .25s;
}
.wc-block-components-button:not(.is-link):hover { background: #f0f0f2 !important; }
.wc-block-components-button__text { color: inherit; }
.wc-block-components-button.is-link, .wc-block-components-panel__button, .wc-block-components-totals-coupon-link, .wc-block-components-checkout-return-to-cart-button { color: var(--muted) !important; }

/* Layout surfaces */
.wc-block-components-sidebar, .wp-block-woocommerce-cart-totals-block, .wc-block-checkout__sidebar {
	padding: clamp(1.25rem, 2vw, 1.75rem) !important;
	border: 1px solid var(--line);
	border-radius: 1rem;
	background: var(--panel);
}
.wc-block-components-sidebar .wc-block-components-text-input input { background: var(--canvas) !important; }
.wc-block-cart-items, .wc-block-cart-items td, .wc-block-cart-items th, .wc-block-cart-items__row td, .wc-block-components-totals-wrapper, .wc-block-components-panel, .wc-block-components-order-summary, .wc-block-components-address-card { border-color: var(--line) !important; }
.wc-block-cart-item__image img, .wc-block-components-order-summary-item__image img { border-radius: .4rem; background: var(--inset); }
.wc-block-components-product-name { color: var(--ink) !important; font-size: .875rem; font-weight: 600; text-decoration: none; }
.wc-block-components-totals-item__value, .wc-block-components-formatted-money-amount { color: var(--ink); }
.wc-block-components-order-summary-item__quantity { background: var(--ink) !important; color: var(--canvas) !important; border-color: var(--ink) !important; box-shadow: none !important; }
.wc-block-components-order-summary-item__quantity span { color: var(--canvas) !important; }
.wc-block-components-quantity-selector { display: none !important; }
.wc-block-cart-item__remove-link { color: var(--muted) !important; }
.wc-block-components-address-card { background: var(--panel); border-radius: .75rem; }
.wc-block-components-notice-banner { background: var(--panel) !important; color: var(--ink) !important; border-radius: .75rem !important; border-color: var(--line-strong) !important; }
.wc-block-components-notice-banner svg { fill: var(--ink) !important; background: transparent !important; }
.wc-block-components-validation-error p { color: #ff6b61 !important; }

/* Empty cart */
.wp-block-woocommerce-empty-cart-block { padding: clamp(3rem, 8vw, 6rem) 1rem; border: 1px solid var(--line); border-radius: 1.25rem; text-align: center; }
.wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title { font-family: var(--text) !important; font-weight: 600 !important; font-size: 1rem !important; }
.wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title::before { display: none !important; }
.wp-block-woocommerce-empty-cart-block hr, .wp-block-woocommerce-empty-cart-block h2:not(.wc-block-cart__empty-cart__title), .wp-block-woocommerce-empty-cart-block .wc-block-grid { display: none; }
.dr-empty-cart-link { display: flex; justify-content: center; margin-top: 1.5rem; }

.wc-block-components-sidebar .wp-block-woocommerce-checkout-order-summary-block,
.wc-block-components-sidebar .wc-block-components-checkout-order-summary__content,
.wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block { border: 0 !important; background: none !important; }
.wc-block-components-checkout-order-summary__title { padding-inline: 0 !important; }
.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-wrapper, .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary { padding-inline: 0 !important; }
.wc-block-components-checkout-order-summary__title-text { color: var(--ink); font-family: var(--text) !important; font-weight: 600 !important; font-size: .9375rem !important; }
.wc-block-components-product-metadata__description, .wc-block-cart-item__prices, .wc-block-components-sale-badge { color: var(--muted); }
.wc-block-components-order-summary-item__image img, .wc-block-cart-item__image img { opacity: .9; }
.wc-block-components-checkout-place-order-button .wc-block-components-button__text, .wc-block-cart__submit-button .wc-block-components-button__text { font-size: 1rem; }

img[src*="woocommerce-placeholder"] { filter: brightness(.22) sepia(.3); }

.wc-block-cart, .wc-block-checkout { font-size: .875rem; }
.wc-block-components-sidebar, .wp-block-woocommerce-cart-totals-block, .wc-block-checkout__sidebar { padding: .9rem !important; border-radius: 10px; }
.wc-block-components-text-input input, .wc-blocks-components-select__select { background: var(--inset) !important; border-color: var(--line) !important; }
.wc-blocks-components-select__container { background: var(--inset) !important; border-radius: 7px; }
.wc-block-components-sidebar .wc-block-components-text-input input { background: var(--inset) !important; }
.wc-block-components-radio-control-accordion-option { border-radius: 8px; }
.wc-block-components-order-summary-item__quantity { background: var(--accent) !important; color: #fff !important; border-color: var(--accent) !important; }
.wc-block-components-order-summary-item__quantity span { color: #fff !important; }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label, .wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font-size: .9375rem !important; font-weight: 600; }
.wp-block-woocommerce-empty-cart-block { padding: clamp(2rem, 6vw, 3.5rem) 1rem; border: 1px dashed var(--line-strong); border-radius: 10px; background: var(--panel); }
.wp-block-woocommerce-empty-cart-block a { color: var(--accent); }
