/* =========================================================================
   RackMount — WooCommerce cart, checkout, account, notices (classic + block)
   ========================================================================= */

/* Global overrides of Woo defaults */
.woocommerce .button, .woocommerce button.button, .woocommerce a.button, .woocommerce input.button,
.woocommerce #respond input#submit, .wc-block-components-button, .wp-element-button, .wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button {
	border-radius: 0 !important;
	font-family: var(--rm-display) !important;
	font-weight: 700 !important;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	font-size: 18px !important;
	line-height: 1 !important;
	background: var(--rm-ink) !important;
	color: var(--rm-white) !important;
	border: 2px solid var(--rm-ink) !important;
	padding: 14px 22px !important;
	text-decoration: none !important;
}
.woocommerce .button:hover, .woocommerce a.button:hover, .woocommerce button.button:hover, .wc-block-components-button:hover, .wp-element-button:hover {
	background: var(--rm-charcoal) !important; color: var(--rm-white) !important;
}
.woocommerce .button.alt, .woocommerce button.button.alt, .woocommerce a.button.alt, .woocommerce #place_order,
.wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button, .wc-block-components-button.wc-block-components-button--primary, .woocommerce-cart .checkout-button {
	background: var(--rm-yellow) !important; border-color: var(--rm-yellow) !important; color: var(--rm-ink) !important;
}
.woocommerce .button.alt:hover, .woocommerce #place_order:hover, .wc-block-cart__submit-button:hover, .wc-block-components-checkout-place-order-button:hover, .woocommerce-cart .checkout-button:hover {
	background: var(--rm-yellow-deep) !important; border-color: var(--rm-yellow-deep) !important; color: var(--rm-ink) !important;
}
.woocommerce .button.disabled, .woocommerce .button:disabled { opacity: .5; }

.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select,
.woocommerce-page form .form-row input.input-text, .wc-block-components-text-input input, .wc-block-components-form .wc-block-components-text-input input,
.wc-block-components-select select, .woocommerce .select2-container--default .select2-selection--single {
	border: 1px solid var(--rm-line) !important; border-radius: 0 !important; background: var(--rm-white); padding: 12px 14px; height: auto; font-size: 15px; box-shadow: none;
}
.woocommerce form .form-row input.input-text:focus, .woocommerce form .form-row textarea:focus, .wc-block-components-text-input input:focus { border-color: var(--rm-ink) !important; outline: none; box-shadow: none; }
.woocommerce form .form-row label { font-family: var(--rm-mono); font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--rm-g500); }
.woocommerce form .form-row .required { color: var(--rm-yellow-deep); text-decoration: none; }
.woocommerce .select2-container--default .select2-selection--single { height: 46px; }
.woocommerce .select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 44px; }
.woocommerce .select2-container--default .select2-selection--single .select2-selection__arrow { height: 44px; }

.rm-page--wc { max-width: var(--rm-container); }
.rm-page--wc .rm-page__title { font-size: clamp(40px, 6vw, 56px); }

/* Tables (classic cart, order review, account orders) */
.woocommerce table.shop_table { border: 0; border-collapse: collapse; border-top: 2px solid var(--rm-ink); border-radius: 0; margin-bottom: 24px; }
.woocommerce table.shop_table th { font-family: var(--rm-mono); font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--rm-g500); border-bottom: 1px solid var(--rm-line); padding: 12px 8px; }
.woocommerce table.shop_table td { border-top: 0; border-bottom: 1px solid var(--rm-line); padding: 14px 8px; }
.woocommerce table.shop_table td.product-name a { font-family: var(--rm-display); font-weight: 600; font-size: 20px; text-transform: uppercase; }
.woocommerce table.shop_table .variation { font-family: var(--rm-mono); font-size: 12px; color: var(--rm-g500); }
.woocommerce table.shop_table .variation dt, .woocommerce table.shop_table .variation dd, .woocommerce table.shop_table .variation p { display: inline; margin: 0; }
.woocommerce table.shop_table .variation dt::after { content: " "; }
.woocommerce table.shop_table .variation dd::after { content: " · "; }
.woocommerce table.shop_table .variation dd:last-of-type::after { content: ""; }
.woocommerce table.shop_table .product-thumbnail img { border: 1px solid var(--rm-line); background: var(--rm-paper); }
.woocommerce table.shop_table .woocommerce-Price-amount { font-family: var(--rm-display); font-weight: 700; font-size: 20px; }
.woocommerce table.shop_table tfoot th, .woocommerce table.shop_table tfoot td { border-top: 1px solid var(--rm-line); }
.woocommerce table.shop_table tr.order-total .woocommerce-Price-amount { font-size: 26px; }
.woocommerce a.remove { color: var(--rm-g500) !important; border-radius: 0; }
.woocommerce a.remove:hover { background: var(--rm-ink) !important; color: var(--rm-white) !important; }
.woocommerce-cart table.cart td.actions .coupon .input-text { width: 180px; padding: 12px 14px; height: auto; border: 1px solid var(--rm-line); }
.woocommerce .cart-collaterals .cart_totals, .woocommerce-page .cart-collaterals .cart_totals { width: 100%; max-width: 480px; float: none; margin-left: auto; }
.woocommerce .cart-collaterals h2 { font-family: var(--rm-display); font-weight: 700; text-transform: uppercase; font-size: 28px; }
.woocommerce .cart_totals table th { width: 40%; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button { display: block; text-align: center; }

/* Classic checkout layout */
.woocommerce-checkout .col2-set { display: grid; grid-template-columns: minmax(0, 1fr); gap: 32px; }
.woocommerce-checkout .col2-set .col-1, .woocommerce-checkout .col2-set .col-2 { width: 100%; float: none; }
.woocommerce-checkout h3, .woocommerce-checkout #order_review_heading { font-family: var(--rm-display); font-weight: 700; text-transform: uppercase; font-size: 28px; margin: 24px 0 12px; }
.woocommerce-checkout #payment { background: var(--rm-paper); border: 1px solid var(--rm-line); border-radius: 0; }
.woocommerce-checkout #payment ul.payment_methods { border-bottom: 1px solid var(--rm-line); }
.woocommerce-checkout #payment div.payment_box { background: var(--rm-white); border: 1px solid var(--rm-line); border-radius: 0; }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: var(--rm-line); }
.woocommerce-checkout #payment div.place-order { padding: 20px; }
.woocommerce-checkout #place_order { width: 100%; }
@media (min-width: 900px) { .woocommerce-checkout .col2-set { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 48px; } }

/* Block cart & checkout: tokens + typography */
.wc-block-components-product-name, .wc-block-components-order-summary-item__description .wc-block-components-product-name { font-family: var(--rm-display); font-weight: 600; font-size: 20px; text-transform: uppercase; color: var(--rm-ink); }
.wc-block-components-product-details, .wc-block-components-product-metadata__description { font-family: var(--rm-mono); font-size: 12px; color: var(--rm-g500); }
.wc-block-components-product-price, .wc-block-formatted-money-amount, .wc-block-components-totals-item__value { font-family: var(--rm-display); font-weight: 700; }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font-size: 26px; }
.wc-block-components-checkout-step__title, .wc-block-components-title, .wc-block-cart__totals-title, .wc-block-components-checkout-order-summary__title { font-family: var(--rm-display) !important; font-weight: 700 !important; text-transform: uppercase; font-size: 24px !important; color: var(--rm-ink); }
.wc-block-cart, .wc-block-checkout { --wc-form-border-color: var(--rm-line); --wc-form-border-radius: 0; }
.wc-block-components-sidebar .wc-block-components-panel, .wc-block-components-totals-wrapper, .wc-block-cart__totals-title, .wc-block-checkout__sidebar .wc-block-components-order-summary { border-color: var(--rm-line); }
.wc-block-components-checkout-step__container::after { border-color: var(--rm-line); }
.wc-block-components-radio-control__option, .wc-block-components-checkbox__label { color: var(--rm-ink); }
.wc-block-components-radio-control__option-checked, .wc-block-components-radio-control .wc-block-components-radio-control__input:checked { --wc-form-color-accent: var(--rm-ink); }
.wc-block-components-checkout-return-to-cart-button, .wc-block-cart__submit-container .wc-block-components-button { border-radius: 0; }
.wc-block-cart-item__image img, .wc-block-components-order-summary-item__image img { border: 1px solid var(--rm-line); background: var(--rm-paper); }
.wc-block-components-quantity-selector { border-radius: 0; border: 1px solid var(--rm-line); }
.wc-block-components-quantity-selector::after { display: none; }
.wc-block-components-quantity-selector .wc-block-components-quantity-selector__input { font-family: var(--rm-mono); }
.wc-block-components-product-badge { border-radius: 0; font-family: var(--rm-mono); }
.wc-block-components-notice-banner { border-radius: 0; }
.wc-block-components-checkout-order-summary__content .wc-block-components-product-name { font-size: 18px; }
.wc-block-cart__empty-cart__title { font-family: var(--rm-display); font-weight: 700; text-transform: uppercase; }
.wc-block-cart.is-empty .wp-block-button__link, .wc-block-grid__product-add-to-cart .wp-block-button__link { border-radius: 0; }
.wc-block-cart .wc-block-components-sidebar-layout .wc-block-components-main { padding-right: 4%; }

/* My account */
.woocommerce-account .woocommerce-MyAccount-navigation { width: 100%; float: none; margin-bottom: 24px; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; display: flex; flex-wrap: wrap; gap: 6px; padding: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation li a { display: inline-flex; align-items: center; height: 44px; padding: 0 16px; border: 1px solid var(--rm-line); font-family: var(--rm-display); font-weight: 600; font-size: 18px; text-transform: uppercase; }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { background: var(--rm-ink); border-color: var(--rm-ink); color: var(--rm-yellow); }
.woocommerce-account .woocommerce-MyAccount-content { width: 100%; float: none; }
.woocommerce-account .woocommerce-MyAccount-content h2, .woocommerce-account .woocommerce-MyAccount-content h3 { font-family: var(--rm-display); font-weight: 700; text-transform: uppercase; font-size: 28px; margin: 24px 0 12px; }
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address { border: 1px solid var(--rm-line); padding: 20px; }
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address address { color: var(--rm-g700); }
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title a.edit { font-size: 13px; color: var(--rm-yellow-deep); }
.woocommerce-account .woocommerce-orders-table__cell-order-number a { font-family: var(--rm-mono); }
@media (min-width: 900px) {
	.woocommerce-account .rm-prose { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 48px; align-items: start; }
	.woocommerce-account .woocommerce-MyAccount-navigation ul { flex-direction: column; }
	.woocommerce-account .woocommerce-MyAccount-navigation li a { width: 100%; }
	.woocommerce-account .woocommerce-MyAccount-navigation { margin-bottom: 0; }
}
/* login / register */
.woocommerce-account .u-columns.col2-set, .woocommerce-account #customer_login { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; }
.woocommerce-account #customer_login .col-1, .woocommerce-account #customer_login .col-2 { width: 100%; float: none; }
@media (min-width: 900px) { .woocommerce-account #customer_login { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 48px; } }
.woocommerce form.login, .woocommerce form.register, .woocommerce form.lost_reset_password { border: 1px solid var(--rm-line); border-radius: 0; padding: 28px; }
.woocommerce form.register .rm-trade-optin label { display: flex; gap: 10px; align-items: flex-start; font-family: var(--rm-body); font-size: 14px; text-transform: none; letter-spacing: 0; color: var(--rm-ink); }
.woocommerce form.register .rm-trade-optin input { margin-top: 4px; }
.woocommerce form .form-row .woocommerce-form-login__rememberme { text-transform: none; letter-spacing: 0; font-family: var(--rm-body); font-size: 14px; color: var(--rm-ink); }
.woocommerce form .form-row .button { margin-top: 8px; }
.woocommerce-privacy-policy-text { font-size: 13px; color: var(--rm-g500); }
.woocommerce .woocommerce-form-login .woocommerce-form-login__submit { margin-right: 12px; }
.woocommerce-account .woocommerce-MyAccount-content .rm-notice { margin-bottom: 20px; }

/* Order received */
.woocommerce-order .woocommerce-notice { font-family: var(--rm-display); font-weight: 700; text-transform: uppercase; font-size: 28px; }
.woocommerce ul.order_details { display: flex; flex-wrap: wrap; gap: 16px 32px; list-style: none; padding: 20px; border: 1px solid var(--rm-line); margin-bottom: 24px; }
.woocommerce ul.order_details li { border: 0; margin: 0; padding: 0; float: none; font-family: var(--rm-mono); font-size: 12px; text-transform: uppercase; color: var(--rm-g500); }
.woocommerce ul.order_details li strong { display: block; margin-top: 4px; font-family: var(--rm-display); font-size: 20px; text-transform: none; color: var(--rm-ink); }
.woocommerce-order h2, .woocommerce-order h3 { font-family: var(--rm-display); font-weight: 700; text-transform: uppercase; font-size: 26px; margin: 24px 0 12px; }
