/* S6: native Woo cart, checkout and account. Values reuse theme.json tokens. */
.mn-funnel { --wc-red: var(--wp--preset--color--mn-terra-deep); --wc-green: var(--wp--preset--color--mn-olive); --woocommerce: var(--wp--preset--color--mn-olive); --wc-primary: var(--wp--preset--color--mn-olive); --wc-primary-text: var(--wp--preset--color--mn-paper); --wc-secondary: var(--wp--preset--color--mn-tile); --wc-secondary-text: var(--wp--preset--color--mn-ink); --wc-content-bg: var(--wp--preset--color--mn-paper); --wc-destructive: var(--wp--preset--color--mn-terra-deep); --wc-form-border-color: var(--wp--preset--color--mn-line-strong); }
.mn-funnel .site-main { min-width: 0; }
.mn-funnel .entry-content { margin-top: var(--wp--preset--spacing--60); }
.mn-funnel .entry-title { margin-bottom: var(--wp--preset--spacing--50); }
.mn-funnel main :where(h2) { font-size: var(--wp--preset--font-size--xx-large); }
.mn-funnel main :where(h3) { font-size: var(--wp--preset--font-size--x-large); }
.mn-funnel main :where(input, select, textarea, button, a) { scroll-margin-top: calc(var(--mn-header-height, 6rem) + var(--wp--preset--spacing--50)); }
.mn-funnel main :where(p, li, td, th, label) { overflow-wrap: anywhere; }
.mn-funnel .woocommerce form .form-row { padding: 0; margin-bottom: var(--wp--preset--spacing--40); }
.mn-funnel .woocommerce form .form-row label { line-height: 1.5; margin-bottom: var(--wp--preset--spacing--20); font-size: var(--wp--preset--font-size--small); font-weight: 600; }
.mn-funnel .woocommerce form .form-row :where(input.input-text, textarea, select),
.mn-funnel .woocommerce form :where(input[type=email], input[type=password], input[type=text]) { min-height: var(--wp--custom--target); padding: var(--wp--preset--spacing--30); border: 1px solid var(--wp--preset--color--mn-line-strong); background: var(--wp--preset--color--mn-paper); color: var(--wp--preset--color--mn-ink); border-radius: var(--wp--custom--radius--base); max-width: 100%; box-sizing: border-box; font-size: var(--wp--preset--font-size--medium); }
.mn-funnel .woocommerce form .form-row textarea { min-height: 7rem; }
.mn-funnel .woocommerce form :where(input[type=checkbox], input[type=radio]) { accent-color: var(--wp--preset--color--mn-olive); width: 1.25rem; height: 1.25rem; vertical-align: middle; margin-right: var(--wp--preset--spacing--20); flex: none; }
.mn-funnel .woocommerce form label:has(input[type=checkbox]) { display: inline-flex; align-items: center; min-height: var(--wp--custom--target); gap: var(--wp--preset--spacing--20); flex-wrap: wrap; }
.mn-funnel .woocommerce form :where(.required, .woocommerce-invalid label) { color: var(--wp--preset--color--mn-terra-deep); }
.mn-funnel .woocommerce form .form-row.woocommerce-invalid label { color: var(--wp--preset--color--mn-terra-deep); }
.mn-funnel .woocommerce form .form-row.woocommerce-invalid input.input-text,
.mn-funnel .woocommerce form .form-row.woocommerce-invalid .select2-selection { border: 2px solid var(--wp--preset--color--mn-terra-deep); }
.mn-funnel .woocommerce form .form-row.woocommerce-validated :where(input.input-text, .select2-selection) { border-color: var(--wp--preset--color--mn-olive); }
.mn-funnel .woocommerce form :where(button.button, input.button, a.button) { min-height: var(--wp--custom--target); display: inline-flex; align-items: center; justify-content: center; }
.mn-funnel .woocommerce .select2-container { max-width: 100%; }
.mn-funnel .select2-container .select2-selection--single { min-height: var(--wp--custom--target); height: auto; background: var(--wp--preset--color--mn-paper); border-color: var(--wp--preset--color--mn-line-strong); border-radius: var(--wp--custom--radius--base); }
.mn-funnel .select2-container .select2-selection--single .select2-selection__rendered { line-height: 1.5; padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--60) var(--wp--preset--spacing--30) var(--wp--preset--spacing--30); white-space: normal; color: var(--wp--preset--color--mn-ink); }
.mn-funnel .select2-container .select2-selection--single .select2-selection__arrow { height: var(--wp--custom--target); }
.mn-funnel .select2-container--default .select2-results__option--highlighted[aria-selected],
.mn-funnel .select2-container--default .select2-results__option--highlighted[data-selected] { background: var(--wp--preset--color--mn-olive); color: var(--wp--preset--color--mn-paper); }
.mn-funnel .select2-dropdown { border-color: var(--wp--preset--color--mn-line-strong); background: var(--wp--preset--color--mn-paper); }

/* Cart block retains its native regions, controls, validation and totals. */
.mn-funnel .wp-block-woocommerce-cart { margin: 0; max-width: 100%; }
/* A noscript descendant exists in the DOM only when scripting is disabled. */
.mn-funnel main:has(.mn-cart-nojs) .wp-block-woocommerce-cart { display: none; }
.mn-funnel .mn-cart-nojs input.qty { min-height: var(--wp--custom--target); min-width: var(--wp--custom--target); }
.mn-funnel .mn-cart-nojs a.remove { min-height: var(--wp--custom--target); min-width: var(--wp--custom--target); display: inline-flex; align-items: center; justify-content: center; color: var(--wp--preset--color--mn-terra-deep); }
.mn-funnel .mn-cart-nojs .checkout-button { white-space: normal; }
.mn-funnel .wc-block-cart__empty-cart__title { padding: var(--wp--preset--spacing--60) 0 0; text-align: left; }
.mn-funnel .wc-block-cart__empty-cart__title::before { content: none; }
.mn-cart-routes { display: flex; flex-wrap: wrap; align-items: center; gap: var(--wp--preset--spacing--20) var(--wp--preset--spacing--50); margin-block: var(--wp--preset--spacing--50) var(--wp--preset--spacing--70); }
.mn-cart-routes a { display: inline-flex; min-height: var(--wp--custom--target); align-items: center; }
.mn-cart-recommendations { border-top: 1px solid var(--wp--preset--color--mn-line); padding-top: var(--wp--preset--spacing--60); }
.mn-cart-recommendations > h2 { margin-bottom: var(--wp--preset--spacing--50); }
.mn-funnel .wc-block-cart .wc-block-cart-items { font-size: var(--wp--preset--font-size--medium); }
.mn-funnel .wc-block-cart .wc-block-components-product-metadata__description { display: none; }
.mn-funnel .wc-block-cart .wc-block-components-product-name { color: var(--wp--preset--color--mn-ink); font-weight: 650; font-size: var(--wp--preset--font-size--medium); line-height: 1.45; overflow-wrap: anywhere; }
.mn-funnel .wc-block-cart .wc-block-components-product-metadata { font-size: var(--wp--preset--font-size--small); }
.mn-funnel .wc-block-cart .wc-block-cart-item__image img { background: var(--wp--preset--color--mn-tile); border-radius: var(--wp--custom--radius--base); }
.mn-funnel .wc-block-cart .wc-block-components-quantity-selector { width: max-content; max-width: 100%; border-radius: var(--wp--custom--radius--base); }
.mn-funnel .wc-block-cart .wc-block-components-quantity-selector :where(button, input.wc-block-components-quantity-selector__input) { min-width: var(--wp--custom--target); min-height: var(--wp--custom--target); color: var(--wp--preset--color--mn-ink); }
.mn-funnel .wc-block-cart .wc-block-components-quantity-selector button { background: transparent; padding: 0; }
.mn-funnel .wc-block-cart .wc-block-components-quantity-selector button:disabled { color: var(--wp--preset--color--mn-muted); cursor: not-allowed; }
.mn-funnel .wc-block-cart .wc-block-cart-item__remove-link { min-width: var(--wp--custom--target); min-height: var(--wp--custom--target); color: var(--wp--preset--color--mn-terra-deep); }
.mn-funnel .wc-block-cart .wc-block-cart__sidebar { background: var(--wp--preset--color--mn-tile); padding: var(--wp--preset--spacing--50); border: 1px solid var(--wp--preset--color--mn-line); align-self: start; box-sizing: border-box; }
.mn-funnel .wc-block-cart .wc-block-cart__submit { position: static; }
.mn-funnel .wc-block-cart .wc-block-cart__submit-button { min-height: calc(var(--wp--custom--target) + var(--wp--preset--spacing--20)); font-weight: 650; text-decoration: none; }
.mn-funnel .wc-block-components-panel__button { color: var(--wp--preset--color--mn-ink); min-height: var(--wp--custom--target); }
.mn-funnel .wc-block-components-totals-coupon__button { min-height: var(--wp--custom--target); }
.mn-funnel .wc-block-components-totals-coupon__content .wc-block-components-text-input input { border-color: var(--wp--preset--color--mn-line-strong); background: var(--wp--preset--color--mn-paper); color: var(--wp--preset--color--mn-ink); }
.mn-funnel .wc-block-components-totals-coupon__content .wc-block-components-text-input label { color: var(--wp--preset--color--mn-ink); }
.mn-funnel .wc-block-components-validation-error { color: var(--wp--preset--color--mn-terra-deep); }
.mn-funnel .wc-block-components-notice-banner { border-radius: var(--wp--custom--radius--base); background: var(--wp--preset--color--mn-tile); color: var(--wp--preset--color--mn-ink); }
.mn-funnel .wc-block-components-notice-banner.is-error { border-color: var(--wp--preset--color--mn-terra-deep); }
.mn-funnel .wc-block-components-notice-banner.is-error > svg { background: var(--wp--preset--color--mn-terra-deep); }
.mn-funnel .wc-block-components-notice-banner.is-success { border-color: var(--wp--preset--color--mn-olive); }
.mn-funnel .wc-block-components-notice-banner.is-success > svg { background: var(--wp--preset--color--mn-olive); }
.mn-funnel .wc-block-components-notice-banner.is-info { border-color: var(--wp--preset--color--mn-honey-deep); }
.mn-funnel .wc-block-components-notice-banner.is-info > svg { background: var(--wp--preset--color--mn-honey-deep); }
.mn-funnel :where(.woocommerce-error, .woocommerce-message, .woocommerce-info, .wc-block-components-notice-banner) a { text-decoration: underline; color: var(--wp--preset--color--mn-olive-deep); }
.mn-funnel :where(.woocommerce-error, .woocommerce-message, .woocommerce-info) { line-height: 1.65; scroll-margin-top: calc(var(--mn-header-height, 6rem) + var(--wp--preset--spacing--50)); }

/* The native shortcode's customer and review regions become two columns. */
.mn-funnel form.woocommerce-checkout { position: relative; display: flex; flex-wrap: wrap; align-items: start; gap: var(--wp--preset--spacing--70); }
.mn-funnel form.woocommerce-checkout > .woocommerce-NoticeGroup { flex-basis: 100%; }
.mn-funnel .mn-checkout-details, .mn-funnel .mn-checkout-review { min-width: 0; }
.mn-funnel .mn-checkout-details { flex: 1.2 1 0; }
.mn-funnel .mn-checkout-review { flex: 1 1 0; }
.mn-funnel .woocommerce #customer_details .col-1, .mn-funnel .woocommerce #customer_details .col-2 { width: 100%; float: none; }
.mn-funnel .mn-checkout-review { padding: var(--wp--preset--spacing--60); background: var(--wp--preset--color--mn-tile); border: 1px solid var(--wp--preset--color--mn-line); }
.mn-funnel .woocommerce table.shop_table { border-color: var(--wp--preset--color--mn-line-strong); border-radius: var(--wp--custom--radius--base); border-collapse: collapse; font-size: var(--wp--preset--font-size--small); }
.mn-funnel .woocommerce table.shop_table :where(th, td) { padding: var(--wp--preset--spacing--30); border-color: var(--wp--preset--color--mn-line-strong); }
.mn-funnel .woocommerce table.shop_table :where(.product-total, .amount) { font-variant-numeric: tabular-nums; }
.mn-funnel .woocommerce table.shop_table :where(.product-total, tfoot td) { text-align: right; }
.mn-funnel #ship-to-different-address { margin-block: var(--wp--preset--spacing--50); font-size: var(--wp--preset--font-size--medium); }
/* Match the checkbox before Woo's startup script collapses the extra fields;
   also gives the native form the same usable choice without JavaScript. */
.mn-funnel .woocommerce-shipping-fields:has(#ship-to-different-address-checkbox:not(:checked)) .shipping_address { display: none; }
.mn-funnel #add_payment_method #payment, .mn-funnel .woocommerce-checkout #payment { background: transparent; border-radius: 0; }
.mn-funnel .woocommerce-checkout #payment ul.payment_methods { padding: var(--wp--preset--spacing--40) 0; border-color: var(--wp--preset--color--mn-line-strong); }
.mn-funnel .woocommerce-checkout #payment div.form-row { padding: var(--wp--preset--spacing--40) 0 0; }
.mn-funnel .woocommerce-checkout #payment div.payment_box { background: var(--wp--preset--color--mn-paper); color: var(--wp--preset--color--mn-ink); }
.mn-funnel .woocommerce-checkout #payment div.payment_box::before { border-bottom-color: var(--wp--preset--color--mn-paper); }
.mn-funnel #place_order { width: 100%; float: none; margin-top: var(--wp--preset--spacing--40); white-space: normal; }
.mn-funnel .woocommerce-privacy-policy-text, .mn-funnel .woocommerce-terms-and-conditions-wrapper { font-size: var(--wp--preset--font-size--small); line-height: 1.65; }
.mn-funnel .woocommerce form.checkout_coupon, .mn-funnel .woocommerce form.login, .mn-funnel .woocommerce form.register { border-color: var(--wp--preset--color--mn-line-strong); border-radius: var(--wp--custom--radius--base); padding: var(--wp--preset--spacing--60); margin-block: var(--wp--preset--spacing--40) var(--wp--preset--spacing--60); }
.mn-coupon-label { display: block; font-weight: 600; margin-bottom: var(--wp--preset--spacing--20); }
.mn-funnel .woocommerce form.checkout_coupon .form-row-last { padding-top: calc(1.5em + var(--wp--preset--spacing--20)); }

/* Account forms and endpoint navigation. */
.mn-funnel #customer_login { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--wp--preset--spacing--70); }
.mn-funnel #customer_login::before, .mn-funnel #customer_login::after { content: none; }
.mn-funnel .woocommerce #customer_login > .col-1, .mn-funnel .woocommerce #customer_login > .col-2 { float: none; width: 100%; }
.mn-funnel .woocommerce #customer_login form { height: auto; background: var(--wp--preset--color--mn-tile); }
.mn-funnel .woocommerce form .password-input input[type=password], .mn-funnel .woocommerce form .password-input input[type=text] { padding-right: calc(var(--wp--custom--target) + var(--wp--preset--spacing--20)); }
.mn-funnel .woocommerce form .password-input { position: relative; }
.mn-funnel .woocommerce form .show-password-input { min-height: var(--wp--custom--target); min-width: var(--wp--custom--target); top: 0; right: 0; transform: none; padding: 0; color: var(--wp--preset--color--mn-ink); background: transparent; border: 0; display: flex; align-items: center; justify-content: center; }
.mn-funnel .woocommerce .lost_password a { display: inline-flex; min-height: var(--wp--custom--target); align-items: center; }
.mn-funnel .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; border: 1px solid var(--wp--preset--color--mn-line-strong); }
.mn-funnel .woocommerce-MyAccount-navigation li { margin: 0; border-bottom: 1px solid var(--wp--preset--color--mn-line); }
.mn-funnel .woocommerce-MyAccount-navigation li:last-child { border: 0; }
.mn-funnel .woocommerce-MyAccount-navigation a { display: flex; align-items: center; min-height: var(--wp--custom--target); box-sizing: border-box; padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40); color: var(--wp--preset--color--mn-ink); text-decoration: none; }
.mn-funnel .woocommerce-MyAccount-navigation a:hover { background: var(--wp--preset--color--mn-tile); text-decoration: underline; }
.mn-funnel .woocommerce-MyAccount-navigation a[aria-current=page] { background: var(--wp--preset--color--mn-olive); color: var(--wp--preset--color--mn-paper); font-weight: 650; }
.mn-funnel .woocommerce-MyAccount-content { min-width: 0; }
.mn-funnel .woocommerce-MyAccount-content fieldset { border: 1px solid var(--wp--preset--color--mn-line-strong); padding: var(--wp--preset--spacing--40); margin-bottom: var(--wp--preset--spacing--50); }
.mn-funnel .woocommerce-Address { background: var(--wp--preset--color--mn-tile); padding: var(--wp--preset--spacing--40); box-sizing: border-box; margin-bottom: var(--wp--preset--spacing--50); }
.mn-funnel .woocommerce-Address .edit { display: inline-flex; align-items: center; min-height: var(--wp--custom--target); }
.mn-funnel .woocommerce-Address h2 { font-size: var(--wp--preset--font-size--x-large); }
@media (max-width: 900px) {
	.mn-funnel form.woocommerce-checkout { flex-direction: column; align-items: stretch; gap: var(--wp--preset--spacing--50); }
	.mn-funnel #customer_login { gap: var(--wp--preset--spacing--50); }
}
@media (max-width: 700px) {
	.mn-funnel #customer_login { grid-template-columns: minmax(0, 1fr); }
	.mn-funnel .woocommerce-MyAccount-navigation, .mn-funnel .woocommerce-MyAccount-content { float: none; width: 100%; }
	.mn-funnel .woocommerce-MyAccount-navigation { margin-bottom: var(--wp--preset--spacing--60); }
	.mn-funnel .woocommerce-MyAccount-navigation ul { display: flex; flex-wrap: wrap; }
	.mn-funnel .woocommerce-MyAccount-navigation li { flex: 1 0 45%; }
	.mn-funnel .mn-checkout-review, .mn-funnel .woocommerce form.login, .mn-funnel .woocommerce form.register { padding: var(--wp--preset--spacing--40); }
	.mn-funnel .wc-block-cart .wc-block-cart-items tr.wc-block-cart-items__row { grid-template-columns: 4rem minmax(0, 1fr); gap: var(--wp--preset--spacing--30); padding-block: var(--wp--preset--spacing--40); }
	.mn-funnel .wc-block-cart .wc-block-cart-items tr.wc-block-cart-items__row td.wc-block-cart-item__image { grid-column: 1; grid-row: 1; padding: 0; }
	.mn-funnel .wc-block-cart .wc-block-cart-items tr.wc-block-cart-items__row td.wc-block-cart-item__product { grid-column: 2; grid-row: 1; padding: 0; min-width: 0; }
	.mn-funnel .wc-block-cart .wc-block-cart-items tr.wc-block-cart-items__row td.wc-block-cart-item__total { grid-column: 2; grid-row: 2; padding: 0; text-align: left; }
	.mn-funnel .wc-block-cart .wc-block-cart__sidebar { padding: var(--wp--preset--spacing--40); }
	.mn-funnel .wc-block-cart .wc-block-cart-item__quantity { display: flex; flex-wrap: wrap; align-items: center; gap: var(--wp--preset--spacing--20); }
}
@media (max-width: 400px) {
	.mn-funnel .woocommerce form .form-row-first, .mn-funnel .woocommerce form .form-row-last { width: 100%; float: none; }
	.mn-funnel .woocommerce table.shop_table :where(th, td) { padding: var(--wp--preset--spacing--20); }
	.mn-funnel .woocommerce form.checkout_coupon { padding: var(--wp--preset--spacing--40); }
}
@media (prefers-reduced-motion: reduce) { .mn-funnel main *, .mn-funnel main *::before, .mn-funnel main *::after { scroll-behavior: auto; animation-duration: .01ms; transition-duration: .01ms; } }

/* A selected brand changes presentation, never the meaning of validation. */
.mn-palette-natie-brand.mn-funnel .woocommerce form :where(.required, .woocommerce-invalid label),
.mn-palette-natie-brand.mn-funnel .woocommerce form .form-row.woocommerce-invalid label,
.mn-palette-natie-brand.mn-funnel .wc-block-components-validation-error { color: var(--wp--custom--identity--error); }
.mn-palette-natie-brand.mn-funnel .woocommerce form .form-row.woocommerce-invalid input.input-text,
.mn-palette-natie-brand.mn-funnel .woocommerce form .form-row.woocommerce-invalid .select2-selection { border-color: var(--wp--custom--identity--error); }
.mn-palette-natie-brand.mn-funnel .woocommerce form .form-row.woocommerce-validated :where(input.input-text, .select2-selection) { border-color: var(--wp--custom--identity--success); }
.mn-palette-natie-brand.mn-funnel .wc-block-components-notice-banner.is-error { border-color: var(--wp--custom--identity--error); }
.mn-palette-natie-brand.mn-funnel .wc-block-components-notice-banner.is-error > svg { background: var(--wp--custom--identity--error); }
.mn-palette-natie-brand.mn-funnel .wc-block-components-notice-banner.is-success { border-color: var(--wp--custom--identity--success); }
.mn-palette-natie-brand.mn-funnel .wc-block-components-notice-banner.is-success > svg { background: var(--wp--custom--identity--success); }
.mn-palette-natie-brand.mn-funnel .wc-block-components-notice-banner.is-info { border-color: var(--wp--custom--identity--info); }
.mn-palette-natie-brand.mn-funnel .wc-block-components-notice-banner.is-info > svg { background: var(--wp--custom--identity--info); }
.mn-palette-natie-brand.mn-funnel .wc-block-components-notice-banner.is-warning { border-color: var(--wp--custom--identity--warning); }
.mn-palette-natie-brand.mn-funnel .wc-block-components-notice-banner.is-warning > svg { background: var(--wp--custom--identity--warning); }
.mn-palette-natie-brand.mn-funnel .wc-block-cart :is(.wc-block-components-product-name, .wc-block-cart__submit-button) { font-weight: var(--wp--custom--identity--ui-weight); }
.mn-palette-natie-brand.mn-funnel :where(.mn-checkout-review, .wc-block-cart__sidebar) { border-radius: var(--wp--custom--radius--base); }
