/**
 * Baker Rifle MFG — classic cart & checkout skin.
 *
 * Enqueued from functions.php ONLY on is_cart() / is_checkout(). It skins the
 * markup WooCommerce (and any FFL / payment plugin) already outputs — it does
 * not alter plugin behavior, fields, or totals.
 *
 * Comp reference: woo-templates_baker.html → checkout pane (numbered sections,
 * sticky order summary, burnt-bronze primary action).
 *
 * TOKENS ONLY.
 *
 * @package baker-rifle
 */

.woocommerce-checkout .woocommerce,
.woocommerce-cart .woocommerce {
	color: var( --wp--preset--color--bone );
}

/* --------------------------------------------------------------- notices -- */

/*
 * WooCommerce paints all three notice types on #fcfbfc with grey text — a
 * near-white banner in the middle of a dark page. Its own selector is a single
 * class, so these carry a body-class scope to win outright; the bare selectors
 * are kept as a fallback for markup rendered outside a woocommerce-* body.
 */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-page .woocommerce-message,
.woocommerce-page .woocommerce-info,
.woocommerce-page .woocommerce-error,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-error {
	background: var( --wp--preset--color--graphite );
	border: 1px solid var( --wp--preset--color--line );
	border-top: 3px solid var( --brm-finish, var( --wp--preset--color--burnt ) );
	border-radius: var( --wp--custom--radius--control );
	color: var( --wp--preset--color--bone );
}

/* Semantic accents: success reads green, failure reads warm. */
.woocommerce-message,
.woocommerce-page .woocommerce-message,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message {
	border-top-color: var( --wp--preset--color--instock );
}

.woocommerce-error,
.woocommerce-page .woocommerce-error,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-error {
	border-top-color: var( --wp--preset--color--outstock );
}

/* Notices are often <ul>; kill the default list indent/markers. */
.woocommerce-page ul.woocommerce-error,
.woocommerce-page ul.woocommerce-message,
.woocommerce-page ul.woocommerce-info {
	list-style: none;
}

/* ---------------------------------------------------------------- fields -- */

.woocommerce form .form-row label,
.woocommerce-checkout label {
	display: block;
	margin-bottom: 0.4em;
	color: var( --wp--preset--color--ash );
	font-family: var( --wp--preset--font-family--mono );
	font-size: var( --wp--preset--font-size--sm );
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-checkout .select2-container .select2-selection {
	width: 100%;
	padding: 0.7em 0.85em;
	background: var( --wp--preset--color--carbon );
	border: 1px solid var( --wp--preset--color--line );
	border-radius: 7px;
	color: var( --wp--preset--color--bone );
	font-family: var( --wp--preset--font-family--body );
	font-size: var( --wp--preset--font-size--ui );
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
	outline: none;
	border-color: var( --brm-finish, var( --wp--preset--color--burnt ) );
}

/* -------------------------------------------------------------- sections -- */

.woocommerce-billing-fields,
.woocommerce-shipping-fields,
.woocommerce-additional-fields,
#order_review_heading + #order_review,
.woocommerce-checkout-payment {
	padding: var( --wp--preset--spacing--60 );
	margin-bottom: var( --wp--preset--spacing--50 );
	background: var( --wp--preset--color--graphite );
	border: 1px solid var( --wp--preset--color--line );
	border-radius: var( --wp--custom--radius--card );
}

.woocommerce-billing-fields h3,
.woocommerce-shipping-fields h3,
#order_review_heading,
.cart_totals h2 {
	margin-top: 0;
	color: var( --wp--preset--color--bone );
	font-family: var( --wp--preset--font-family--display );
	font-size: var( --wp--preset--font-size--xl );
	text-transform: uppercase;
}

/* Order summary sticks alongside the form on wide screens, per the comp. */
@media ( min-width: 900px ) {
	.woocommerce-checkout #order_review {
		position: sticky;
		top: 84px;
	}
}

/* --------------------------------------------------------------- tables -- */

.woocommerce table.shop_table {
	width: 100%;
	border: 1px solid var( --wp--preset--color--line );
	border-radius: var( --wp--custom--radius--card );
	border-collapse: collapse;
	color: var( --wp--preset--color--bone );
}

.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
	padding: 0.8em 0.9em;
	border-bottom: 1px solid var( --wp--preset--color--line );
}

.woocommerce table.shop_table th {
	color: var( --wp--preset--color--ash );
	font-family: var( --wp--preset--font-family--mono );
	font-size: var( --wp--preset--font-size--sm );
	font-weight: 400;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	text-align: left;
}

.woocommerce table.shop_table tfoot .order-total .amount {
	color: var( --brm-finish-hi, var( --wp--preset--color--burnt-hi ) );
	font-family: var( --wp--preset--font-family--mono );
	font-size: var( --wp--preset--font-size--lg );
}

.woocommerce .cart_item .product-name a {
	color: var( --wp--preset--color--bone );
	text-decoration: none;
}

/* -------------------------------------------------------------- payment -- */

.woocommerce-checkout #payment {
	background: transparent;
	border-radius: var( --wp--custom--radius--card );
}

.woocommerce-checkout #payment ul.payment_methods {
	padding: 0;
	border-bottom: 1px solid var( --wp--preset--color--line );
	list-style: none;
}

.woocommerce-checkout #payment ul.payment_methods li {
	margin-bottom: var( --wp--preset--spacing--30 );
	padding: var( --wp--preset--spacing--40 );
	background: var( --wp--preset--color--carbon );
	border: 1px solid var( --wp--preset--color--line );
	border-radius: 7px;
}

.woocommerce-checkout #payment div.payment_box {
	background: var( --wp--preset--color--carbon );
	border: 1px solid var( --wp--preset--color--line );
	border-radius: 7px;
	color: var( --wp--preset--color--ash );
	font-size: var( --wp--preset--font-size--ui );
}

.woocommerce-checkout #payment div.payment_box::before {
	display: none;
}

.woocommerce form.checkout_coupon input[type="radio"],
.woocommerce-checkout input[type="radio"],
.woocommerce-checkout input[type="checkbox"] {
	accent-color: var( --brm-finish, var( --wp--preset--color--burnt ) );
}

/* -------------------------------------------------------------- buttons -- */

.woocommerce #payment #place_order,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
	padding: 0.75em 1.4em;
	background: var( --brm-finish, var( --wp--preset--color--burnt ) );
	border: 1px solid transparent;
	border-radius: var( --wp--custom--radius--control );
	color: var( --wp--preset--color--ember );
	font-family: var( --wp--preset--font-family--body );
	font-size: var( --wp--preset--font-size--ui );
	font-weight: 700;
	/* Cancel Greenshift's hover scale + glow on Woo buttons. */
	box-shadow: none;
	transform: none;
}

.woocommerce #payment #place_order:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
	background: var( --brm-finish-hi, var( --wp--preset--color--burnt-hi ) );
	color: var( --wp--preset--color--ember );
	box-shadow: none;
	transform: none;
}

.woocommerce #payment #place_order {
	width: 100%;
	margin-top: var( --wp--preset--spacing--50 );
}

/* Secondary actions (update cart, apply coupon) read as ghost buttons. */
.woocommerce button.button[name="update_cart"],
.woocommerce button.button[name="apply_coupon"] {
	background: transparent;
	border-color: var( --wp--preset--color--line );
	color: var( --wp--preset--color--bone );
}

.woocommerce button.button[name="update_cart"]:hover,
.woocommerce button.button[name="apply_coupon"]:hover {
	background: transparent;
	border-color: var( --brm-finish, var( --wp--preset--color--burnt ) );
	color: var( --brm-finish-hi, var( --wp--preset--color--burnt-hi ) );
}

/* ------------------------------------------------------------- account -- */

/*
 * My Account. Every rule here undoes a LIGHT-THEME assumption baked into the
 * parent Greenshift theme (themes/greenshift/inc/block-styles.php), which
 * hardcodes #fafafa panels, #111 link text and #eee rules. On the carbon field
 * that renders the dashboard as near-white text on a near-white card — i.e.
 * unreadable. Each override is scoped with `.woocommerce-account` so it clears
 * the parent's single-class selectors.
 */

.woocommerce-account .woocommerce-MyAccount-content {
	background: var( --wp--preset--color--graphite );
	border: 1px solid var( --wp--preset--color--line );
	border-radius: var( --wp--custom--radius--card );
	color: var( --wp--preset--color--bone );
	font-size: var( --wp--preset--font-size--base );
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info,
.woocommerce-account .woocommerce-MyAccount-content fieldset {
	background: var( --wp--preset--color--carbon );
	border: 1px solid var( --wp--preset--color--line );
	border-radius: var( --wp--custom--radius--control );
	color: var( --wp--preset--color--bone );
}

.woocommerce-account .woocommerce-MyAccount-content a {
	color: var( --brm-finish-hi, var( --wp--preset--color--burnt-hi ) );
}

/* Navigation: the parent forces #111 on every non-active link. */
.woocommerce-account .woocommerce-MyAccount-navigation ul li a,
.woocommerce-account .woocommerce-MyAccount-navigation ul li a:not( .is-active ) {
	color: var( --wp--preset--color--bone );
	font-family: var( --wp--preset--font-family--display );
	font-size: var( --wp--preset--font-size--base );
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.02em;
	transition: color 0.18s ease;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover,
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
	color: var( --brm-finish-hi, var( --wp--preset--color--burnt-hi ) );
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
	text-decoration: none;
}

/* The active row gets an accent marker instead of the underline. */
.woocommerce-account .woocommerce-MyAccount-navigation ul li {
	border-top: 1px solid var( --wp--preset--color--line );
	padding-left: 0;
	position: relative;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active {
	box-shadow: inset 3px 0 0 var( --brm-finish, var( --wp--preset--color--burnt ) );
	padding-left: 0.75em;
}

/* Tables (orders, downloads) inherit the shop_table skin above; these are the
   account-specific bits the parent leaves light. */
.woocommerce-account .woocommerce-MyAccount-content table.shop_table,
.woocommerce-account table.my_account_orders {
	background: transparent;
	color: var( --wp--preset--color--bone );
}

.woocommerce-account .woocommerce-MyAccount-content legend {
	color: var( --wp--preset--color--bone );
	font-family: var( --wp--preset--font-family--display );
	text-transform: uppercase;
}

/* The login/register split divider is a light hairline in the parent. */
.woocommerce-account #customer_login::before {
	border-right: 1px solid var( --wp--preset--color--line );
}

/* Range Reservation Manager injects a waiver status card into the dashboard
   with light semantic backgrounds. Keep the semantic colour as an accent rail
   but sit the card on the dark surface so it belongs to the page. */
.woocommerce-account .rwi-waiver-status-box {
	background: var( --wp--preset--color--carbon );
	border: 1px solid var( --wp--preset--color--line );
	border-radius: var( --wp--custom--radius--control );
	color: var( --wp--preset--color--bone );
}

.woocommerce-account .rwi-waiver-status-box.status-valid {
	border-left: 3px solid var( --wp--preset--color--instock );
}

.woocommerce-account .rwi-waiver-status-box.status-expiring_soon {
	border-left: 3px solid var( --brm-finish-hi, var( --wp--preset--color--burnt-hi ) );
}

.woocommerce-account .rwi-waiver-status-box.status-none,
.woocommerce-account .rwi-waiver-status-box.status-expired {
	border-left: 3px solid var( --wp--preset--color--outstock );
}

.woocommerce-account .rwi-waiver-status-box h3 {
	color: var( --wp--preset--color--bone );
}

/* The parent floats the two columns; stack them on small screens so the
   content is not squeezed against a 200px rail. */
@media ( max-width: 782px ) {
	.woocommerce-account .woocommerce-MyAccount-navigation,
	.woocommerce-account .woocommerce-MyAccount-content {
		float: none;
		width: 100%;
	}

	.woocommerce-account .woocommerce-MyAccount-content {
		margin-top: var( --wp--preset--spacing--50 );
	}
}

/* --------------------------------------------------------------- terms -- */

.woocommerce-terms-and-conditions-wrapper,
.woocommerce-privacy-policy-text {
	color: var( --wp--preset--color--ash );
	font-size: var( --wp--preset--font-size--ui );
}
