/* Stage 6: WooCommerce-owned Cart, Checkout, orders, and account presentation. */

/* Shared transactional language and notices. */
.woocommerce-message, .woocommerce-info, .woocommerce-error,
.wc-block-components-notice-banner { width: min(calc(100% - 3rem), var(--cb-content)); margin: 1.5rem auto; padding: 1rem 1.15rem; border: 1px solid var(--cb-border-strong); border-left: .25rem solid var(--cb-accent); border-radius: var(--cb-radius-sm); background: var(--cb-surface); color: var(--cb-text); }
.woocommerce-error { border-left-color: #e36a6a; }
.woocommerce-message { border-left-color: #75bd91; }
.woocommerce-error { list-style: none; }
.woocommerce-message a, .woocommerce-info a, .woocommerce-error a, .wc-block-components-notice-banner a { color: var(--cb-accent); }
.woocommerce form .form-row label, .wc-block-components-text-input label, .wc-block-components-combobox-control label { color: var(--cb-text); font-weight: 700; }
.woocommerce input.input-text, .woocommerce textarea, .woocommerce select,
.wc-block-components-text-input input, .wc-block-components-combobox-control input,
.wc-block-components-textarea, .wc-block-components-country-input select { min-height: 3.25rem; border: 1px solid var(--cb-border-strong) !important; border-radius: .375rem; background: #17191f !important; color: var(--cb-text) !important; }
.woocommerce textarea, .wc-block-components-textarea { min-height: 7rem; }
.woocommerce input.input-text:focus, .woocommerce textarea:focus, .woocommerce select:focus,
.wc-block-components-text-input input:focus, .wc-block-components-combobox-control input:focus,
.wc-block-components-textarea:focus { border-color: var(--cb-accent); outline: .1875rem solid rgb(244 165 28 / 28%); outline-offset: .125rem; }
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.wc-block-components-button { box-sizing: border-box; min-height: 2.75rem; display: inline-flex; align-items: center; justify-content: center; gap: .5rem; padding-block: 0; border-radius: var(--cb-control-radius); font-weight: 850; line-height: 1.2; text-align: center; touch-action: manipulation; }
.woocommerce a.button:focus-visible, .woocommerce button.button:focus-visible, .woocommerce input.button:focus-visible,
.wc-block-components-button:focus-visible { outline: .1875rem solid var(--cb-focus-ring); outline-offset: .1875rem; }
.woocommerce table.shop_table { border: 1px solid var(--cb-border); border-collapse: separate; border-spacing: 0; border-radius: var(--cb-radius-md); background: var(--cb-surface); }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { padding: 1rem; border-color: var(--cb-border); }
.woocommerce .quantity .qty { min-width: 4.5rem; min-height: 2.75rem; border: 1px solid var(--cb-border-strong); border-radius: .5rem; background: #0b0d11; color: var(--cb-text); }

/* Blocks-first Cart and Checkout. Selectors stay at supported component level. */
.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout { width: 100%; max-width: none; margin-inline: auto; color: var(--cb-text); }
.wc-block-components-sidebar-layout.wc-block-cart, .wc-block-components-sidebar-layout.wc-block-checkout { display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(20rem, 24.375rem); gap: clamp(2rem, 4vw, 4.375rem); align-items: start; }
.wc-block-components-sidebar-layout .wc-block-components-main { width: 100% !important; padding-right: 0 !important; }
.wc-block-components-sidebar { position: sticky; top: calc(var(--cb-header-height) + 1.75rem); width: 100% !important; margin: 0 !important; padding: clamp(1.25rem, 2.5vw, 1.875rem); border: 1px solid var(--cb-border); border-radius: var(--cb-radius-md); background: var(--cb-surface); }
.wc-block-components-product-name, .wc-block-cart-item__product a { color: var(--cb-text); font-weight: 850; }
.wc-block-cart-item__image img { border-radius: .65rem; background: var(--cb-surface-alt); }
.wc-block-components-quantity-selector { min-height: 2.75rem; border-color: var(--cb-border-strong); background: #0b0d11; }
.wc-block-components-quantity-selector input { color: var(--cb-text); }
.wc-block-cart-item__remove-link, .wc-block-components-chip__remove { min-height: 2.75rem; color: var(--cb-text-muted); }
.wc-block-components-totals-wrapper { border-color: var(--cb-border); }
.wc-block-components-totals-item__value, .wc-block-components-order-summary-item__total-price { color: var(--cb-text); }
.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: 1.15rem; font-weight: 900; }
.wc-block-components-panel, .wc-block-components-checkout-step, .wc-block-components-order-summary { border-color: var(--cb-border); }
.wc-block-components-checkout-step__heading h2 { color: var(--cb-text); font-family: var(--cb-font-display); letter-spacing: -.02em; }
.wc-block-components-radio-control__option { min-height: 3rem; border-color: var(--cb-border); }
.wc-block-components-radio-control__option--checked { background: rgb(244 165 28 / 6%); }
.wc-block-components-payment-methods, .wc-block-components-express-payment, .wc-block-components-express-payment-continue-rule { max-width: 100%; }
.wc-block-components-payment-method-label, .wc-block-components-radio-control__label { color: var(--cb-text); }
.wc-block-components-checkout-place-order-button { width: 100%; min-height: 3.25rem; background: var(--cb-accent); color: #141006; }
.wc-block-components-checkout-place-order-button:hover { background: var(--cb-accent-hover); }
.wc-block-components-validation-error { color: #ff9a9a; }
.wc-block-components-button:not(.is-link) { border: 1px solid var(--cb-accent); background: var(--cb-accent); color: #141006; }
.wc-block-components-button:not(.is-link):hover { background: var(--cb-accent-hover); color: #141006; }
.wc-block-cart-items { border-top: 1px solid var(--cb-border); }
.wc-block-cart-items th, .wc-block-cart-items td { border-color: var(--cb-border) !important; }
.wc-block-cart-item__image { width: 8.5rem; }
.wc-block-cart-item__image img { width: 8.5rem; height: 7.25rem; object-fit: contain; }
.wc-block-grid__products { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.wc-block-grid__product { width: auto !important; max-width: none !important; padding: 1rem !important; border: 1px solid var(--cb-border); border-radius: var(--cb-radius-md); background: var(--cb-surface); }
.wc-block-components-checkout-step { margin-bottom: 2.625rem; }
.wc-block-components-checkout-step__heading { margin-bottom: 1.125rem; }
.wc-block-components-checkout-step__heading h2 { font-size: 1.05rem; }
.wc-block-components-order-summary-item { border-color: var(--cb-border); }

/* Classic Cart fallback; no template override. */
.woocommerce-cart .content-page-main, .woocommerce-checkout .content-page-main, .woocommerce-account .content-page-main { width: 100%; max-width: none; padding: 0; }
.woocommerce-cart .content-page-main > .breadcrumbs, .woocommerce-checkout .content-page-main > .breadcrumbs, .woocommerce-account .content-page-main > .breadcrumbs { width: min(calc(100% - 3rem), var(--cb-container)); margin: 2rem auto 0; }
.woocommerce-cart .standard-page, .woocommerce-checkout .standard-page, .woocommerce-account .standard-page { width: min(calc(100% - 3rem), var(--cb-container)); padding: clamp(3rem, 6vw, 5.5rem) 0 clamp(5rem, 8vw, 7rem); }
.woocommerce-cart .standard-page .entry-content, .woocommerce-checkout .standard-page .entry-content, .woocommerce-account .standard-page .entry-content { max-width: none; }
.woocommerce-cart .standard-page > header, .woocommerce-checkout .standard-page > header, .woocommerce-account .standard-page > header { margin-bottom: clamp(2rem, 5vw, 4rem); }
.woocommerce-cart .standard-page h1, .woocommerce-checkout .standard-page h1, .woocommerce-account .standard-page h1 { margin: 0; font-size: clamp(3rem, 6vw, 4.5rem); }
.woocommerce-cart .standard-page h1 span { color: var(--cb-accent); }
.woocommerce-cart .standard-page > header .eyebrow, .woocommerce-checkout .standard-page > header .eyebrow { margin-bottom: .75rem; }
.woocommerce-cart-form { float: left; width: min(66%, 52rem); }
.woocommerce-cart-form .product-thumbnail img { width: 6rem; border-radius: .65rem; background: var(--cb-surface-alt); }
.woocommerce-cart-form .product-name a { color: var(--cb-text); font-weight: 850; }
.woocommerce-cart-form .product-remove a { min-width: 2.75rem; min-height: 2.75rem; display: inline-grid; place-items: center; color: var(--cb-text-muted) !important; }
.woocommerce-cart-form td.actions .coupon { display: flex; gap: .75rem; }
.woocommerce-cart-form td.actions .coupon .input-text { width: min(16rem, 100%); }
.woocommerce .cart-collaterals { float: right; width: min(31%, 25rem); }
.woocommerce .cart-collaterals .cart_totals { float: none; width: 100%; padding: 1.5rem; border: 1px solid var(--cb-border); border-radius: var(--cb-radius-md); background: var(--cb-surface); }
.woocommerce .cart-collaterals .cart_totals h2 { font-family: var(--cb-font-display); text-transform: uppercase; }
.woocommerce .wc-proceed-to-checkout .checkout-button { width: 100%; min-height: 3.25rem; display: grid; place-items: center; background: var(--cb-accent); color: #141006; }
.woocommerce-shipping-calculator a { color: var(--cb-accent); }
.woocommerce .return-to-shop .button { background: var(--cb-accent); color: #141006; }

/* Low-distraction checkout shell shared with the canonical header/footer. */
.checkout-header-meta { margin-left: auto; display: flex; align-items: center; gap: 1.25rem; }
.checkout-header-meta span { color: var(--cb-text-muted); font-size: .72rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.checkout-header-meta a { min-height: 2.75rem; display: inline-flex; align-items: center; color: var(--cb-accent); font-weight: 800; text-decoration: none; }
.woocommerce-checkout:not(.woocommerce-order-received) .site-footer .footer-inner { display: none; }
.woocommerce-checkout:not(.woocommerce-order-received) .site-footer { margin-top: 3rem; }
.woocommerce-checkout:not(.woocommerce-order-received) .footer-bottom { min-height: 5rem; }

/* Classic Checkout fallback. Gateway markup and lifecycle stay untouched. */
.woocommerce form.checkout { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(22rem, .9fr); gap: clamp(2rem, 5vw, 4rem); }
.woocommerce form.checkout > #customer_details { grid-column: 1; }
.woocommerce form.checkout > #order_review_heading, .woocommerce form.checkout > #order_review { grid-column: 2; }
.woocommerce form.checkout > #order_review_heading { align-self: end; margin: 0; font-family: var(--cb-font-display); }
.woocommerce form.checkout > #order_review { align-self: start; padding: 1.5rem; border: 1px solid var(--cb-border); border-radius: var(--cb-radius-md); background: var(--cb-surface); }
.woocommerce form.checkout .col-1, .woocommerce form.checkout .col-2 { float: none; width: 100%; }
.woocommerce form.checkout h3 { font-family: var(--cb-font-display); }
.woocommerce-checkout #payment { border: 1px solid var(--cb-border); background: #0b0d11; color: var(--cb-text); }
.woocommerce-checkout #payment ul.payment_methods, .woocommerce-checkout #payment div.payment_box { border-color: var(--cb-border); background: transparent; color: var(--cb-text); }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: var(--cb-border); }
.woocommerce-checkout #payment iframe, .woocommerce-checkout #payment .payment_method_payment_request,
.woocommerce-checkout #payment [class*="express"], .woocommerce-checkout #payment [class*="wallet"] { max-width: 100%; }
.woocommerce-checkout #place_order { width: 100%; min-height: 3.25rem; background: var(--cb-accent); color: #141006; }

/* Thank You, native order details, and every status WooCommerce exposes. */
.woocommerce-order-received .woocommerce-order, .woocommerce-order-pay .woocommerce { max-width: 62rem; margin-inline: auto; }
.woocommerce-order-overview { display: grid; grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr)); margin: 2rem 0; padding: 0; border: 1px solid var(--cb-border); border-radius: var(--cb-radius-md); background: var(--cb-surface); list-style: none; }
.woocommerce ul.order_details li { margin: 0; padding: 1rem; border-color: var(--cb-border); color: var(--cb-text-muted); }
.woocommerce ul.order_details li strong { color: var(--cb-text); }
.woocommerce-order-details, .woocommerce-customer-details { margin-top: 2.5rem; }
.woocommerce-customer-details address { border-color: var(--cb-border); border-radius: var(--cb-radius-md); background: var(--cb-surface); }

/* My Account endpoints, login/register, orders and saved methods. */
.woocommerce-account .woocommerce { display: grid; grid-template-columns: minmax(13rem, .28fr) minmax(0, 1fr); gap: clamp(1.5rem, 5vw, 4rem); }
.woocommerce-account .woocommerce::before, .woocommerce-account .woocommerce::after { display: none; }
.woocommerce-account .woocommerce-MyAccount-navigation { float: none; width: auto; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { margin: 0; padding: .75rem; border: 1px solid var(--cb-border); border-radius: var(--cb-radius-md); background: var(--cb-surface); list-style: none; }
.woocommerce-account .woocommerce-MyAccount-navigation a { min-height: 2.75rem; display: flex; align-items: center; padding: .6rem .8rem; border-radius: .5rem; color: var(--cb-text-muted); text-decoration: none; }
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a, .woocommerce-account .woocommerce-MyAccount-navigation a:hover { background: var(--cb-surface-alt); color: var(--cb-accent); }
.woocommerce-account .woocommerce-MyAccount-content { float: none; width: auto; min-width: 0; }
.woocommerce-account .u-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; }
.woocommerce-account .u-column1, .woocommerce-account .u-column2 { float: none; width: auto; padding: 1.5rem; border: 1px solid var(--cb-border); border-radius: var(--cb-radius-md); background: var(--cb-surface); }
.woocommerce-account form.login, .woocommerce-account form.register, .woocommerce-account form.lost_reset_password,
.woocommerce-account form.edit-account, .woocommerce-account form.woocommerce-address-fields { border-color: var(--cb-border); border-radius: var(--cb-radius-md); background: var(--cb-surface); }
.woocommerce-account table.my_account_orders { font-size: .9rem; }

@media (max-width: 64rem) {
	.wc-block-components-sidebar-layout .wc-block-components-main { padding-right: 1.5rem; }
	.woocommerce-cart-form, .woocommerce .cart-collaterals { float: none; width: 100%; }
	.woocommerce .cart-collaterals { margin-top: 2rem; }
}

@media (max-width: 48rem) {
	.woocommerce-cart .content-page-main > .breadcrumbs, .woocommerce-checkout .content-page-main > .breadcrumbs, .woocommerce-account .content-page-main > .breadcrumbs, .woocommerce-cart .standard-page, .woocommerce-checkout .standard-page, .woocommerce-account .standard-page { width: min(calc(100% - 2rem), var(--cb-container)); }
	.wc-block-components-sidebar-layout.wc-block-cart, .wc-block-components-sidebar-layout.wc-block-checkout { grid-template-columns: 1fr; }
	.wc-block-components-sidebar-layout .wc-block-components-main { width: 100%; padding-right: 0; }
	.wc-block-components-sidebar { position: static; width: 100%; margin-top: 1.5rem; }
	.woocommerce form.checkout, .woocommerce-account .woocommerce, .woocommerce-account .u-columns { grid-template-columns: 1fr; }
	.woocommerce form.checkout > #customer_details, .woocommerce form.checkout > #order_review_heading, .woocommerce form.checkout > #order_review { grid-column: 1; }
	.woocommerce-cart-form table.shop_table, .woocommerce-cart-form tbody, .woocommerce-cart-form tr, .woocommerce-cart-form td { display: block; width: 100%; }
	.woocommerce-cart-form thead { position: absolute; width: .0625rem; height: .0625rem; overflow: hidden; clip: rect(0, 0, 0, 0); }
	.woocommerce-cart-form tr.cart_item { position: relative; display: grid; grid-template-columns: 5.5rem 1fr; gap: .75rem 1rem; margin-bottom: 1rem; padding: 1rem; border: 1px solid var(--cb-border); border-radius: var(--cb-radius-md); background: var(--cb-surface); }
	.woocommerce-cart-form tr.cart_item td { padding: .2rem 0; border: 0; text-align: left !important; }
	.woocommerce-cart-form tr.cart_item .product-remove { position: absolute; top: .5rem; right: .5rem; width: auto; }
	.woocommerce-cart-form tr.cart_item .product-thumbnail { grid-row: 1 / 5; }
	.woocommerce-cart-form tr.cart_item .product-name, .woocommerce-cart-form tr.cart_item .product-price, .woocommerce-cart-form tr.cart_item .product-quantity, .woocommerce-cart-form tr.cart_item .product-subtotal { grid-column: 2; }
	.woocommerce-cart-form td.actions .coupon { width: 100%; display: grid; grid-template-columns: 1fr auto; gap: .75rem; }
	.woocommerce-cart-form td.actions .coupon .input-text { width: 100%; }
	.woocommerce-account table.my_account_orders, .woocommerce-account table.my_account_orders tbody, .woocommerce-account table.my_account_orders tr, .woocommerce-account table.my_account_orders td { display: block; width: 100%; }
	.woocommerce-account table.my_account_orders thead { position: absolute; width: .0625rem; height: .0625rem; overflow: hidden; clip: rect(0, 0, 0, 0); }
	.woocommerce-account table.my_account_orders tr { margin-bottom: 1rem; padding: .75rem; border: 1px solid var(--cb-border); border-radius: var(--cb-radius-sm); }
	.woocommerce-account table.my_account_orders td { padding: .6rem; text-align: right !important; }
	.woocommerce-account table.my_account_orders td::before { float: left; color: var(--cb-text-muted); }
	.woocommerce-account table.my_account_orders .button { margin: .25rem; }
}

@media (max-width: 32.5rem) {
	.checkout-header-meta { gap: .65rem; }
	.checkout-header-meta span { display: none; }
	.cart-drawer-footer > div, .woocommerce-cart-form td.actions .coupon { grid-template-columns: 1fr; }
	.cart-drawer-item { grid-template-columns: 4rem minmax(0, 1fr) 2.75rem; gap: .75rem; }
	.woocommerce table.shop_table th, .woocommerce table.shop_table td { padding: .75rem; }
	.wc-block-components-sidebar { padding: 1rem; }
}
